blobstore

package module
v0.0.0-...-a418af8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 24, 2023 License: Apache-2.0 Imports: 3 Imported by: 1

Documentation

Overview

Blobstore: wasmcloud capability contract for storing objects (blobs) in named containers

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BlobstoreContractId

func BlobstoreContractId() string

BlobstoreContractId returns the capability contract id for this interface

func BlobstoreHandler

func BlobstoreHandler(actor_ Blobstore) actor.Handler

BlobstoreHandler is called by an actor during `main` to generate a dispatch handler The output of this call should be passed into `actor.RegisterHandlers`

func ChunkReceiverContractId

func ChunkReceiverContractId() string

ChunkReceiverContractId returns the capability contract id for this interface

func ChunkReceiverHandler

func ChunkReceiverHandler(actor_ ChunkReceiver) actor.Handler

ChunkReceiverHandler is called by an actor during `main` to generate a dispatch handler The output of this call should be passed into `actor.RegisterHandlers`

Types

type Blobstore

type Blobstore interface {
	// Returns whether the container exists
	ContainerExists(ctx *actor.Context, arg ContainerId) (bool, error)
	// Creates a container by name, returning success if it worked
	// Note that container names may not be globally unique - just unique within the
	// "namespace" of the connecting actor and linkdef
	CreateContainer(ctx *actor.Context, arg ContainerId) error
	// Retrieves information about the container.
	// Returns error if the container id is invalid or not found.
	GetContainerInfo(ctx *actor.Context, arg ContainerId) (*ContainerMetadata, error)
	// Returns list of container ids
	ListContainers(ctx *actor.Context) (*ContainersInfo, error)
	// Empty and remove the container(s)
	// The MultiResult list contains one entry for each container
	// that was not successfully removed, with the 'key' value representing the container name.
	// If the MultiResult list is empty, all container removals succeeded.
	RemoveContainers(ctx *actor.Context, arg ContainerIds) (*MultiResult, error)
	// Returns whether the object exists
	ObjectExists(ctx *actor.Context, arg ContainerObject) (bool, error)
	// Retrieves information about the object.
	// Returns error if the object id is invalid or not found.
	GetObjectInfo(ctx *actor.Context, arg ContainerObject) (*ObjectMetadata, error)
	// Lists the objects in the container.
	// If the container exists and is empty, the returned `objects` list is empty.
	// Parameters of the request may be used to limit the object names returned
	// with an optional start value, end value, and maximum number of items.
	// The provider may limit the number of items returned. If the list is truncated,
	// the response contains a `continuation` token that may be submitted in
	// a subsequent ListObjects request.
	//
	// Optional object metadata fields (i.e., `contentType` and `contentEncoding`) may not be
	// filled in for ListObjects response. To get complete object metadata, use GetObjectInfo.
	ListObjects(ctx *actor.Context, arg ListObjectsRequest) (*ListObjectsResponse, error)
	// Removes the objects. In the event any of the objects cannot be removed,
	// the operation continues until all requested deletions have been attempted.
	// The MultiRequest includes a list of errors, one for each deletion request
	// that did not succeed. If the list is empty, all removals succeeded.
	RemoveObjects(ctx *actor.Context, arg RemoveObjectsRequest) (*MultiResult, error)
	// Requests to start upload of a file/blob to the Blobstore.
	// It is recommended to keep chunks under 1MB to avoid exceeding nats default message size
	PutObject(ctx *actor.Context, arg PutObjectRequest) (*PutObjectResponse, error)
	// Requests to retrieve an object. If the object is large, the provider
	// may split the response into multiple parts
	// It is recommended to keep chunks under 1MB to avoid exceeding nats default message size
	GetObject(ctx *actor.Context, arg GetObjectRequest) (*GetObjectResponse, error)
	// Uploads a file chunk to a blobstore. This must be called AFTER PutObject
	// It is recommended to keep chunks under 1MB to avoid exceeding nats default message size
	PutChunk(ctx *actor.Context, arg PutChunkRequest) error
}

The BlobStore service, provider side

type BlobstoreReceiver

type BlobstoreReceiver struct{}

BlobstoreReceiver receives messages defined in the Blobstore service interface The BlobStore service, provider side

func (*BlobstoreReceiver) Dispatch

func (r *BlobstoreReceiver) Dispatch(ctx *actor.Context, svc interface{}, message *actor.Message) (*actor.Message, error)

type BlobstoreSender

type BlobstoreSender struct {
	// contains filtered or unexported fields
}

BlobstoreSender sends messages to a Blobstore service The BlobStore service, provider side

func NewProviderBlobstore

func NewProviderBlobstore() *BlobstoreSender

NewProvider constructs a client for sending to a Blobstore provider implementing the 'wasmcloud:blobstore' capability contract, with the "default" link

func NewProviderBlobstoreLink(linkName string) *BlobstoreSender

NewProviderBlobstoreLink constructs a client for sending to a Blobstore provider implementing the 'wasmcloud:blobstore' capability contract, with the specified link name

func (*BlobstoreSender) ContainerExists

func (s *BlobstoreSender) ContainerExists(ctx *actor.Context, arg ContainerId) (bool, error)

Returns whether the container exists

func (*BlobstoreSender) CreateContainer

func (s *BlobstoreSender) CreateContainer(ctx *actor.Context, arg ContainerId) error

Creates a container by name, returning success if it worked Note that container names may not be globally unique - just unique within the "namespace" of the connecting actor and linkdef

func (*BlobstoreSender) GetContainerInfo

func (s *BlobstoreSender) GetContainerInfo(ctx *actor.Context, arg ContainerId) (*ContainerMetadata, error)

Retrieves information about the container. Returns error if the container id is invalid or not found.

func (*BlobstoreSender) GetObject

func (s *BlobstoreSender) GetObject(ctx *actor.Context, arg GetObjectRequest) (*GetObjectResponse, error)

Requests to retrieve an object. If the object is large, the provider may split the response into multiple parts It is recommended to keep chunks under 1MB to avoid exceeding nats default message size

func (*BlobstoreSender) GetObjectInfo

func (s *BlobstoreSender) GetObjectInfo(ctx *actor.Context, arg ContainerObject) (*ObjectMetadata, error)

Retrieves information about the object. Returns error if the object id is invalid or not found.

func (*BlobstoreSender) ListContainers

func (s *BlobstoreSender) ListContainers(ctx *actor.Context) (*ContainersInfo, error)

Returns list of container ids

func (*BlobstoreSender) ListObjects

func (s *BlobstoreSender) ListObjects(ctx *actor.Context, arg ListObjectsRequest) (*ListObjectsResponse, error)

Lists the objects in the container. If the container exists and is empty, the returned `objects` list is empty. Parameters of the request may be used to limit the object names returned with an optional start value, end value, and maximum number of items. The provider may limit the number of items returned. If the list is truncated, the response contains a `continuation` token that may be submitted in a subsequent ListObjects request.

Optional object metadata fields (i.e., `contentType` and `contentEncoding`) may not be filled in for ListObjects response. To get complete object metadata, use GetObjectInfo.

func (*BlobstoreSender) ObjectExists

func (s *BlobstoreSender) ObjectExists(ctx *actor.Context, arg ContainerObject) (bool, error)

Returns whether the object exists

func (*BlobstoreSender) PutChunk

func (s *BlobstoreSender) PutChunk(ctx *actor.Context, arg PutChunkRequest) error

Uploads a file chunk to a blobstore. This must be called AFTER PutObject It is recommended to keep chunks under 1MB to avoid exceeding nats default message size

func (*BlobstoreSender) PutObject

func (s *BlobstoreSender) PutObject(ctx *actor.Context, arg PutObjectRequest) (*PutObjectResponse, error)

Requests to start upload of a file/blob to the Blobstore. It is recommended to keep chunks under 1MB to avoid exceeding nats default message size

func (*BlobstoreSender) RemoveContainers

func (s *BlobstoreSender) RemoveContainers(ctx *actor.Context, arg ContainerIds) (*MultiResult, error)

Empty and remove the container(s) The MultiResult list contains one entry for each container that was not successfully removed, with the 'key' value representing the container name. If the MultiResult list is empty, all container removals succeeded.

func (*BlobstoreSender) RemoveObjects

func (s *BlobstoreSender) RemoveObjects(ctx *actor.Context, arg RemoveObjectsRequest) (*MultiResult, error)

Removes the objects. In the event any of the objects cannot be removed, the operation continues until all requested deletions have been attempted. The MultiRequest includes a list of errors, one for each deletion request that did not succeed. If the list is empty, all removals succeeded.

type Chunk

type Chunk struct {
	ObjectId    ObjectId
	ContainerId ContainerId
	// bytes in this chunk
	Bytes []byte
	// The byte offset within the object for this chunk
	Offset uint64
	// true if this is the last chunk
	IsLast bool
}

A portion of a file. The `isLast` field indicates whether this chunk is the last in a stream. The `offset` field indicates the 0-based offset from the start of the file for this chunk.

func CDecodeChunk

func CDecodeChunk(d *cbor.Decoder) (Chunk, error)

CDecodeChunk deserializes a Chunk using cbor

func MDecodeChunk

func MDecodeChunk(d *msgpack.Decoder) (Chunk, error)

MDecodeChunk deserializes a Chunk using msgpack

func (*Chunk) CEncode

func (o *Chunk) CEncode(encoder cbor.Writer) error

CEncode serializes a Chunk using cbor

func (*Chunk) MEncode

func (o *Chunk) MEncode(encoder msgpack.Writer) error

MEncode serializes a Chunk using msgpack

type ChunkReceiver

type ChunkReceiver interface {
	// Receives a file chunk from a blobstore.
	// A blobstore provider invokes this operation on actors in response to the GetObject request.
	// If the response sets cancelDownload, the provider will stop downloading chunks
	ReceiveChunk(ctx *actor.Context, arg Chunk) (*ChunkResponse, error)
}

The BlobStore service, actor side

type ChunkReceiverReceiver

type ChunkReceiverReceiver struct{}

ChunkReceiverReceiver receives messages defined in the ChunkReceiver service interface The BlobStore service, actor side

func (*ChunkReceiverReceiver) Dispatch

func (r *ChunkReceiverReceiver) Dispatch(ctx *actor.Context, svc interface{}, message *actor.Message) (*actor.Message, error)

type ChunkReceiverSender

type ChunkReceiverSender struct {
	// contains filtered or unexported fields
}

ChunkReceiverSender sends messages to a ChunkReceiver service The BlobStore service, actor side

func NewActorChunkReceiverSender

func NewActorChunkReceiverSender(actor_id string) *ChunkReceiverSender

NewActorSender constructs a client for actor-to-actor messaging using the recipient actor's public key

func (*ChunkReceiverSender) ReceiveChunk

func (s *ChunkReceiverSender) ReceiveChunk(ctx *actor.Context, arg Chunk) (*ChunkResponse, error)

Receives a file chunk from a blobstore. A blobstore provider invokes this operation on actors in response to the GetObject request. If the response sets cancelDownload, the provider will stop downloading chunks

type ChunkResponse

type ChunkResponse struct {
	// If set and `true`, the sender will stop sending chunks,
	CancelDownload bool
}

Response from actor after receiving a download chunk.

func CDecodeChunkResponse

func CDecodeChunkResponse(d *cbor.Decoder) (ChunkResponse, error)

CDecodeChunkResponse deserializes a ChunkResponse using cbor

func MDecodeChunkResponse

func MDecodeChunkResponse(d *msgpack.Decoder) (ChunkResponse, error)

MDecodeChunkResponse deserializes a ChunkResponse using msgpack

func (*ChunkResponse) CEncode

func (o *ChunkResponse) CEncode(encoder cbor.Writer) error

CEncode serializes a ChunkResponse using cbor

func (*ChunkResponse) MEncode

func (o *ChunkResponse) MEncode(encoder msgpack.Writer) error

MEncode serializes a ChunkResponse using msgpack

type ContainerId

type ContainerId string

Name of a container

func CDecodeContainerId

func CDecodeContainerId(d *cbor.Decoder) (ContainerId, error)

CDecodeContainerId deserializes a ContainerId using cbor

func MDecodeContainerId

func MDecodeContainerId(d *msgpack.Decoder) (ContainerId, error)

MDecodeContainerId deserializes a ContainerId using msgpack

func (*ContainerId) CEncode

func (o *ContainerId) CEncode(encoder cbor.Writer) error

CEncode serializes a ContainerId using cbor

func (*ContainerId) MEncode

func (o *ContainerId) MEncode(encoder msgpack.Writer) error

MEncode serializes a ContainerId using msgpack

type ContainerIds

type ContainerIds []ContainerId

list of container names

func CDecodeContainerIds

func CDecodeContainerIds(d *cbor.Decoder) (ContainerIds, error)

CDecodeContainerIds deserializes a ContainerIds using cbor

func MDecodeContainerIds

func MDecodeContainerIds(d *msgpack.Decoder) (ContainerIds, error)

MDecodeContainerIds deserializes a ContainerIds using msgpack

func (*ContainerIds) CEncode

func (o *ContainerIds) CEncode(encoder cbor.Writer) error

CEncode serializes a ContainerIds using cbor

func (*ContainerIds) MEncode

func (o *ContainerIds) MEncode(encoder msgpack.Writer) error

MEncode serializes a ContainerIds using msgpack

type ContainerMetadata

type ContainerMetadata struct {
	// Container name
	ContainerId ContainerId
	// Creation date, if available
	CreatedAt *actor.Timestamp
}

Metadata for a container.

func CDecodeContainerMetadata

func CDecodeContainerMetadata(d *cbor.Decoder) (ContainerMetadata, error)

CDecodeContainerMetadata deserializes a ContainerMetadata using cbor

func MDecodeContainerMetadata

func MDecodeContainerMetadata(d *msgpack.Decoder) (ContainerMetadata, error)

MDecodeContainerMetadata deserializes a ContainerMetadata using msgpack

func (*ContainerMetadata) CEncode

func (o *ContainerMetadata) CEncode(encoder cbor.Writer) error

CEncode serializes a ContainerMetadata using cbor

func (*ContainerMetadata) MEncode

func (o *ContainerMetadata) MEncode(encoder msgpack.Writer) error

MEncode serializes a ContainerMetadata using msgpack

type ContainerObject

type ContainerObject struct {
	ContainerId ContainerId
	ObjectId    ObjectId
}

Combination of container id and object id

func CDecodeContainerObject

func CDecodeContainerObject(d *cbor.Decoder) (ContainerObject, error)

CDecodeContainerObject deserializes a ContainerObject using cbor

func MDecodeContainerObject

func MDecodeContainerObject(d *msgpack.Decoder) (ContainerObject, error)

MDecodeContainerObject deserializes a ContainerObject using msgpack

func (*ContainerObject) CEncode

func (o *ContainerObject) CEncode(encoder cbor.Writer) error

CEncode serializes a ContainerObject using cbor

func (*ContainerObject) MEncode

func (o *ContainerObject) MEncode(encoder msgpack.Writer) error

MEncode serializes a ContainerObject using msgpack

type ContainersInfo

type ContainersInfo []ContainerMetadata

list of container metadata objects

func CDecodeContainersInfo

func CDecodeContainersInfo(d *cbor.Decoder) (ContainersInfo, error)

CDecodeContainersInfo deserializes a ContainersInfo using cbor

func MDecodeContainersInfo

func MDecodeContainersInfo(d *msgpack.Decoder) (ContainersInfo, error)

MDecodeContainersInfo deserializes a ContainersInfo using msgpack

func (*ContainersInfo) CEncode

func (o *ContainersInfo) CEncode(encoder cbor.Writer) error

CEncode serializes a ContainersInfo using cbor

func (*ContainersInfo) MEncode

func (o *ContainersInfo) MEncode(encoder msgpack.Writer) error

MEncode serializes a ContainersInfo using msgpack

type GetObjectRequest

type GetObjectRequest struct {
	// object to download
	ObjectId ObjectId
	// object's container
	ContainerId ContainerId
	// Requested start of object to retrieve.
	// The first byte is at offset 0. Range values are inclusive.
	// If rangeStart is beyond the end of the file,
	// an empty chunk will be returned with isLast == true
	RangeStart uint64
	// Requested end of object to retrieve. Defaults to the object's size.
	// It is not an error for rangeEnd to be greater than the object size.
	// Range values are inclusive.
	RangeEnd uint64
}

Parameter to GetObject

func CDecodeGetObjectRequest

func CDecodeGetObjectRequest(d *cbor.Decoder) (GetObjectRequest, error)

CDecodeGetObjectRequest deserializes a GetObjectRequest using cbor

func MDecodeGetObjectRequest

func MDecodeGetObjectRequest(d *msgpack.Decoder) (GetObjectRequest, error)

MDecodeGetObjectRequest deserializes a GetObjectRequest using msgpack

func (*GetObjectRequest) CEncode

func (o *GetObjectRequest) CEncode(encoder cbor.Writer) error

CEncode serializes a GetObjectRequest using cbor

func (*GetObjectRequest) MEncode

func (o *GetObjectRequest) MEncode(encoder msgpack.Writer) error

MEncode serializes a GetObjectRequest using msgpack

type GetObjectResponse

type GetObjectResponse struct {
	// indication whether the request was successful
	Success bool
	// If success is false, this may contain an error
	Error string
	// The provider may begin the download by returning a first chunk
	InitialChunk *Chunk
	// Length of the content. (for multi-part downloads, this may not
	// be the same as the length of the initial chunk)
	ContentLength uint64
	// A standard MIME type describing the format of the object data.
	ContentType string
	// Specifies what content encodings have been applied to the object
	// and thus what decoding mechanisms must be applied to obtain the media-type
	ContentEncoding string
}

Response to GetObject

func CDecodeGetObjectResponse

func CDecodeGetObjectResponse(d *cbor.Decoder) (GetObjectResponse, error)

CDecodeGetObjectResponse deserializes a GetObjectResponse using cbor

func MDecodeGetObjectResponse

func MDecodeGetObjectResponse(d *msgpack.Decoder) (GetObjectResponse, error)

MDecodeGetObjectResponse deserializes a GetObjectResponse using msgpack

func (*GetObjectResponse) CEncode

func (o *GetObjectResponse) CEncode(encoder cbor.Writer) error

CEncode serializes a GetObjectResponse using cbor

func (*GetObjectResponse) MEncode

func (o *GetObjectResponse) MEncode(encoder msgpack.Writer) error

MEncode serializes a GetObjectResponse using msgpack

type ItemResult

type ItemResult struct {
	Key string
	// whether the item succeeded or failed
	Success bool
	// optional error message for failures
	Error string
}

Result of input item

func CDecodeItemResult

func CDecodeItemResult(d *cbor.Decoder) (ItemResult, error)

CDecodeItemResult deserializes a ItemResult using cbor

func MDecodeItemResult

func MDecodeItemResult(d *msgpack.Decoder) (ItemResult, error)

MDecodeItemResult deserializes a ItemResult using msgpack

func (*ItemResult) CEncode

func (o *ItemResult) CEncode(encoder cbor.Writer) error

CEncode serializes a ItemResult using cbor

func (*ItemResult) MEncode

func (o *ItemResult) MEncode(encoder msgpack.Writer) error

MEncode serializes a ItemResult using msgpack

type ListObjectsRequest

type ListObjectsRequest struct {
	// Name of the container to search
	ContainerId string
	// Request object names starting with this value. (Optional)
	StartWith string
	// Continuation token passed in ListObjectsResponse.
	// If set, `startWith` is ignored. (Optional)
	Continuation string
	// Last item to return (inclusive terminator) (Optional)
	EndWith string
	// Optionally, stop returning items before returning this value.
	// (exclusive terminator)
	// If startFrom is "a" and endBefore is "b", and items are ordered
	// alphabetically, then only items beginning with "a" would be returned.
	// (Optional)
	EndBefore string
	// maximum number of items to return. If not specified, provider
	// will return an initial set of up to 1000 items. if maxItems > 1000,
	// the provider implementation may return fewer items than requested.
	// (Optional)
	MaxItems uint32
}

Parameter to list_objects.

func CDecodeListObjectsRequest

func CDecodeListObjectsRequest(d *cbor.Decoder) (ListObjectsRequest, error)

CDecodeListObjectsRequest deserializes a ListObjectsRequest using cbor

func MDecodeListObjectsRequest

func MDecodeListObjectsRequest(d *msgpack.Decoder) (ListObjectsRequest, error)

MDecodeListObjectsRequest deserializes a ListObjectsRequest using msgpack

func (*ListObjectsRequest) CEncode

func (o *ListObjectsRequest) CEncode(encoder cbor.Writer) error

CEncode serializes a ListObjectsRequest using cbor

func (*ListObjectsRequest) MEncode

func (o *ListObjectsRequest) MEncode(encoder msgpack.Writer) error

MEncode serializes a ListObjectsRequest using msgpack

type ListObjectsResponse

type ListObjectsResponse struct {
	// set of objects returned
	Objects ObjectsInfo
	// Indicates if the item list is complete, or the last item
	// in a multi-part response.
	IsLast bool
	// If `isLast` is false, this value can be used in the `continuation` field
	// of a `ListObjectsRequest`.
	// Clients should not attempt to interpret this field: it may or may not
	// be a real key or object name, and may be obfuscated by the provider.
	Continuation string
}

Respose to list_objects. If `isLast` is false, the list was truncated by the provider, and the remainder of the objects can be requested with another request using the `continuation` token.

func CDecodeListObjectsResponse

func CDecodeListObjectsResponse(d *cbor.Decoder) (ListObjectsResponse, error)

CDecodeListObjectsResponse deserializes a ListObjectsResponse using cbor

func MDecodeListObjectsResponse

func MDecodeListObjectsResponse(d *msgpack.Decoder) (ListObjectsResponse, error)

MDecodeListObjectsResponse deserializes a ListObjectsResponse using msgpack

func (*ListObjectsResponse) CEncode

func (o *ListObjectsResponse) CEncode(encoder cbor.Writer) error

CEncode serializes a ListObjectsResponse using cbor

func (*ListObjectsResponse) MEncode

func (o *ListObjectsResponse) MEncode(encoder msgpack.Writer) error

MEncode serializes a ListObjectsResponse using msgpack

type MultiResult

type MultiResult []ItemResult

result for an operation on a list of inputs

func CDecodeMultiResult

func CDecodeMultiResult(d *cbor.Decoder) (MultiResult, error)

CDecodeMultiResult deserializes a MultiResult using cbor

func MDecodeMultiResult

func MDecodeMultiResult(d *msgpack.Decoder) (MultiResult, error)

MDecodeMultiResult deserializes a MultiResult using msgpack

func (*MultiResult) CEncode

func (o *MultiResult) CEncode(encoder cbor.Writer) error

CEncode serializes a MultiResult using cbor

func (*MultiResult) MEncode

func (o *MultiResult) MEncode(encoder msgpack.Writer) error

MEncode serializes a MultiResult using msgpack

type ObjectId

type ObjectId string

Name of an object within a container

func CDecodeObjectId

func CDecodeObjectId(d *cbor.Decoder) (ObjectId, error)

CDecodeObjectId deserializes a ObjectId using cbor

func MDecodeObjectId

func MDecodeObjectId(d *msgpack.Decoder) (ObjectId, error)

MDecodeObjectId deserializes a ObjectId using msgpack

func (*ObjectId) CEncode

func (o *ObjectId) CEncode(encoder cbor.Writer) error

CEncode serializes a ObjectId using cbor

func (*ObjectId) MEncode

func (o *ObjectId) MEncode(encoder msgpack.Writer) error

MEncode serializes a ObjectId using msgpack

type ObjectIds

type ObjectIds []ObjectId

list of object names

func CDecodeObjectIds

func CDecodeObjectIds(d *cbor.Decoder) (ObjectIds, error)

CDecodeObjectIds deserializes a ObjectIds using cbor

func MDecodeObjectIds

func MDecodeObjectIds(d *msgpack.Decoder) (ObjectIds, error)

MDecodeObjectIds deserializes a ObjectIds using msgpack

func (*ObjectIds) CEncode

func (o *ObjectIds) CEncode(encoder cbor.Writer) error

CEncode serializes a ObjectIds using cbor

func (*ObjectIds) MEncode

func (o *ObjectIds) MEncode(encoder msgpack.Writer) error

MEncode serializes a ObjectIds using msgpack

type ObjectMetadata

type ObjectMetadata struct {
	// Object identifier that is unique within its container.
	// Naming of objects is determined by the capability provider.
	// An object id could be a path, hash of object contents, or some other unique identifier.
	ObjectId ObjectId
	// container of the object
	ContainerId ContainerId
	// size of the object in bytes
	ContentLength uint64
	// date object was last modified
	LastModified *actor.Timestamp
	// A MIME type of the object
	// see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
	// Provider implementations _may_ return None for this field for metadata
	// returned from ListObjects
	ContentType string
	// Specifies what content encodings have been applied to the object
	// and thus what decoding mechanisms must be applied to obtain the media-type
	// referenced by the contentType field. For more information,
	// see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11.
	// Provider implementations _may_ return None for this field for metadata
	// returned from ListObjects
	ContentEncoding string
}

func CDecodeObjectMetadata

func CDecodeObjectMetadata(d *cbor.Decoder) (ObjectMetadata, error)

CDecodeObjectMetadata deserializes a ObjectMetadata using cbor

func MDecodeObjectMetadata

func MDecodeObjectMetadata(d *msgpack.Decoder) (ObjectMetadata, error)

MDecodeObjectMetadata deserializes a ObjectMetadata using msgpack

func (*ObjectMetadata) CEncode

func (o *ObjectMetadata) CEncode(encoder cbor.Writer) error

CEncode serializes a ObjectMetadata using cbor

func (*ObjectMetadata) MEncode

func (o *ObjectMetadata) MEncode(encoder msgpack.Writer) error

MEncode serializes a ObjectMetadata using msgpack

type ObjectsInfo

type ObjectsInfo []ObjectMetadata

list of object metadata objects

func CDecodeObjectsInfo

func CDecodeObjectsInfo(d *cbor.Decoder) (ObjectsInfo, error)

CDecodeObjectsInfo deserializes a ObjectsInfo using cbor

func MDecodeObjectsInfo

func MDecodeObjectsInfo(d *msgpack.Decoder) (ObjectsInfo, error)

MDecodeObjectsInfo deserializes a ObjectsInfo using msgpack

func (*ObjectsInfo) CEncode

func (o *ObjectsInfo) CEncode(encoder cbor.Writer) error

CEncode serializes a ObjectsInfo using cbor

func (*ObjectsInfo) MEncode

func (o *ObjectsInfo) MEncode(encoder msgpack.Writer) error

MEncode serializes a ObjectsInfo using msgpack

type PutChunkRequest

type PutChunkRequest struct {
	// upload chunk from the file.
	// if chunk.isLast is set, this will be the last chunk uploaded
	Chunk Chunk
	// This value should be set to the `streamId` returned from the initial PutObject.
	StreamId string
	// If set, the receiving provider should cancel the upload process
	// and remove the file.
	CancelAndRemove bool
}

Parameter to PutChunk operation

func CDecodePutChunkRequest

func CDecodePutChunkRequest(d *cbor.Decoder) (PutChunkRequest, error)

CDecodePutChunkRequest deserializes a PutChunkRequest using cbor

func MDecodePutChunkRequest

func MDecodePutChunkRequest(d *msgpack.Decoder) (PutChunkRequest, error)

MDecodePutChunkRequest deserializes a PutChunkRequest using msgpack

func (*PutChunkRequest) CEncode

func (o *PutChunkRequest) CEncode(encoder cbor.Writer) error

CEncode serializes a PutChunkRequest using cbor

func (*PutChunkRequest) MEncode

func (o *PutChunkRequest) MEncode(encoder msgpack.Writer) error

MEncode serializes a PutChunkRequest using msgpack

type PutObjectRequest

type PutObjectRequest struct {
	// File path and initial data
	Chunk Chunk
	// A MIME type of the object
	// see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
	ContentType string
	// Specifies what content encodings have been applied to the object
	// and thus what decoding mechanisms must be applied to obtain the media-type
	// referenced by the contentType field. For more information,
	// see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11.
	ContentEncoding string
}

Parameter for PutObject operation

func CDecodePutObjectRequest

func CDecodePutObjectRequest(d *cbor.Decoder) (PutObjectRequest, error)

CDecodePutObjectRequest deserializes a PutObjectRequest using cbor

func MDecodePutObjectRequest

func MDecodePutObjectRequest(d *msgpack.Decoder) (PutObjectRequest, error)

MDecodePutObjectRequest deserializes a PutObjectRequest using msgpack

func (*PutObjectRequest) CEncode

func (o *PutObjectRequest) CEncode(encoder cbor.Writer) error

CEncode serializes a PutObjectRequest using cbor

func (*PutObjectRequest) MEncode

func (o *PutObjectRequest) MEncode(encoder msgpack.Writer) error

MEncode serializes a PutObjectRequest using msgpack

type PutObjectResponse

type PutObjectResponse struct {
	// If this is a multipart upload, `streamId` must be returned
	// with subsequent PutChunk requests
	StreamId string
}

Response to PutObject operation

func CDecodePutObjectResponse

func CDecodePutObjectResponse(d *cbor.Decoder) (PutObjectResponse, error)

CDecodePutObjectResponse deserializes a PutObjectResponse using cbor

func MDecodePutObjectResponse

func MDecodePutObjectResponse(d *msgpack.Decoder) (PutObjectResponse, error)

MDecodePutObjectResponse deserializes a PutObjectResponse using msgpack

func (*PutObjectResponse) CEncode

func (o *PutObjectResponse) CEncode(encoder cbor.Writer) error

CEncode serializes a PutObjectResponse using cbor

func (*PutObjectResponse) MEncode

func (o *PutObjectResponse) MEncode(encoder msgpack.Writer) error

MEncode serializes a PutObjectResponse using msgpack

type RemoveObjectsRequest

type RemoveObjectsRequest struct {
	// name of container
	ContainerId ContainerId
	// list of object names to be removed
	Objects ObjectIds
}

parameter to removeObjects

func CDecodeRemoveObjectsRequest

func CDecodeRemoveObjectsRequest(d *cbor.Decoder) (RemoveObjectsRequest, error)

CDecodeRemoveObjectsRequest deserializes a RemoveObjectsRequest using cbor

func MDecodeRemoveObjectsRequest

func MDecodeRemoveObjectsRequest(d *msgpack.Decoder) (RemoveObjectsRequest, error)

MDecodeRemoveObjectsRequest deserializes a RemoveObjectsRequest using msgpack

func (*RemoveObjectsRequest) CEncode

func (o *RemoveObjectsRequest) CEncode(encoder cbor.Writer) error

CEncode serializes a RemoveObjectsRequest using cbor

func (*RemoveObjectsRequest) MEncode

func (o *RemoveObjectsRequest) MEncode(encoder msgpack.Writer) error

MEncode serializes a RemoveObjectsRequest using msgpack

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL