client

package
v1.6.0 Latest Latest
Warning

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

Go to latest
Published: Aug 29, 2018 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Overview

Package dag is a generated GoMock package.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DumpRequest

func DumpRequest(req *http.Request, body bool) string

DumpRequest returns the as-received wire representation of req, optionally including the request body, for debugging.

func DumpResponse

func DumpResponse(resp *http.Response, body bool) string

DumpResponse is like DumpRequest but dumps a response.

func GetMimeType

func GetMimeType(filename string) string

GetMimeType returns MimeType from the file extension.

Types

type Bucket

type Bucket struct {
	Name         string    `xml:"Name"`
	CreationDate time.Time `xml:"CreationDate"`
}

Bucket is meta information of `Bucket` in dagrin

func (Bucket) String

func (b Bucket) String() string

type BucketListing

type BucketListing struct {
	Owner   Owner    `xml:"Owner"`
	Buckets []Bucket `xml:"Buckets>Bucket"`
}

BucketListing returns list of Bucket

type CommonPrefix

type CommonPrefix struct {
	Prefix string `xml:"Prefix"`
}

CommonPrefix represents name of directory

func (CommonPrefix) String

func (prefix CommonPrefix) String() string

type CompleteMultipartUploadResult

type CompleteMultipartUploadResult struct {
	Location string `xml:"Location"`
	Bucket   string `xml:"Bucket"`
	Key      string `xml:"Key"`
	ETag     string `xml:"ETag"`
}

CompleteMultipartUploadResult is response of complete multipart upload request.

type DefaultHTTPClient

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

DefaultHTTPClient implements HTTP client

func (*DefaultHTTPClient) Do

func (client *DefaultHTTPClient) Do(req *http.Request) (resp *http.Response, err error)

Do wrapper of http.Client.Do

type DefaultStorageClient

type DefaultStorageClient struct {
	Config     StorageClientConfig
	Logger     *log.Logger
	HTTPClient NewHTTPClient
	// contains filtered or unexported fields
}

DefaultStorageClient implements StorageClient

func (*DefaultStorageClient) AbortMultipartUpload

func (cli *DefaultStorageClient) AbortMultipartUpload(upload *MultipartUpload) error

AbortMultipartUpload cancels the multipart upload.

func (*DefaultStorageClient) CompleteMultipartUpload

func (cli *DefaultStorageClient) CompleteMultipartUpload(upload *MultipartUpload, parts []*Part) (res *CompleteMultipartUploadResult, err error)

CompleteMultipartUpload creates a storage object

func (*DefaultStorageClient) DeleteBucket

func (cli *DefaultStorageClient) DeleteBucket(bucket string) error

DeleteBucket removes a bucket (DELETE Bucket)

func (*DefaultStorageClient) DeleteBucketPolicy

func (cli *DefaultStorageClient) DeleteBucketPolicy(bucket string) error

DeleteBucketPolicy deletes a policy of the specified bucket.

func (*DefaultStorageClient) DeleteMultipleObjects

func (cli *DefaultStorageClient) DeleteMultipleObjects(bucket string, keys []string, quiet bool) (res *MultipleDeletionResult, err error)

DeleteMultipleObjects removes objects (DELETE Multiple Objects)

func (*DefaultStorageClient) DeleteObject

func (cli *DefaultStorageClient) DeleteObject(bucket, key string) (err error)

DeleteObject removes an object (DELETE Object)

func (*DefaultStorageClient) Do

func (cli *DefaultStorageClient) Do(req *http.Request, result interface{}) (resp *http.Response, err error)

Do sends an HTTP request and returns an HTTP response

func (*DefaultStorageClient) DoAndRetry

func (cli *DefaultStorageClient) DoAndRetry(fn func() (*http.Request, error), result interface{}) (resp *http.Response, err error)

DoAndRetry executes Do method and if the response is error (< 400), retries http requests.

func (*DefaultStorageClient) DoesBucketExist

func (cli *DefaultStorageClient) DoesBucketExist(bucket string) (result bool, err error)

DoesBucketExist returns true if the bucket exists.

func (*DefaultStorageClient) DoesObjectExist

func (cli *DefaultStorageClient) DoesObjectExist(bucket, key string) (bool, error)

DoesObjectExist returns presence of an object (HEAD Object)

func (*DefaultStorageClient) GetBucketPolicy

func (cli *DefaultStorageClient) GetBucketPolicy(bucket string) (policy io.ReadCloser, err error)

GetBucketPolicy gets a policy of the specified bucket.

func (*DefaultStorageClient) GetNetworkTraffic

func (cli *DefaultStorageClient) GetNetworkTraffic(date string) (traffic *DownTraffic, err error)

GetNetworkTraffic returns a network traffic of specified date.

func (*DefaultStorageClient) GetObject

func (cli *DefaultStorageClient) GetObject(bucket, key string) (r io.ReadCloser, err error)

GetObject downloads an object (GET Object)

func (*DefaultStorageClient) GetObjectMetadata

func (cli *DefaultStorageClient) GetObjectMetadata(bucket, key string) (o *Object, err error)

GetObjectMetadata returns metadata of object. if the object does not exist, return nil.

func (*DefaultStorageClient) GetObjectSummary

func (cli *DefaultStorageClient) GetObjectSummary(bucket, key string) (os *ObjectSummary, err error)

GetObjectSummary returns summary information of the Object.

func (*DefaultStorageClient) GetStorageSpace

func (cli *DefaultStorageClient) GetStorageSpace() (usage *StorageSpace, err error)

GetStorageSpace returns a usage of the DAG storage.

func (*DefaultStorageClient) InitiateMultipartUpload

func (cli *DefaultStorageClient) InitiateMultipartUpload(bucket, key string, metadata *ObjectMetadata) (res *MultipartUpload, err error)

InitiateMultipartUpload starts the multipart upload

func (*DefaultStorageClient) ListBuckets

func (cli *DefaultStorageClient) ListBuckets() (listing *BucketListing, err error)

ListBuckets returns list of buckets (GET Service)

func (*DefaultStorageClient) ListMultipartUploads

func (cli *DefaultStorageClient) ListMultipartUploads(bucket, prefix, keyMarker, uploadIdMarker, delimiter string, maxUploads int) (listing *MultipartUploadListing, err error)

ListMultipartUploads returns list of multipart-uploads

func (*DefaultStorageClient) ListNetworkTraffics

func (cli *DefaultStorageClient) ListNetworkTraffics(backwardTo int) (result *ListTrafficResult, err error)

ListNetworkTraffics returns list of network traffic every 1 day.

func (*DefaultStorageClient) ListObjects

func (cli *DefaultStorageClient) ListObjects(bucket, prefix, marker, delimiter string, maxKeys int) (listing *ObjectListing, err error)

ListObjects returns list of objects (GET Bucket := List Objects)

func (*DefaultStorageClient) ListParts

func (cli *DefaultStorageClient) ListParts(bucket, key, uploadId string, partNumberMarker, maxParts int) (listing *PartListing, err error)

ListParts returns list of parts (List Parts)

func (*DefaultStorageClient) NewListObjectsRequest

func (cli *DefaultStorageClient) NewListObjectsRequest(bucket, prefix, marker, delimiter string, maxKeys int) (*http.Request, error)

NewListObjectsRequest returns new a request for ListObjects

func (*DefaultStorageClient) NextListMultipartUploads

func (cli *DefaultStorageClient) NextListMultipartUploads(prev *MultipartUploadListing) (listing *MultipartUploadListing, err error)

NextListMultipartUploads returns next page of multipart-uploads listing

func (*DefaultStorageClient) NextListObjects

func (cli *DefaultStorageClient) NextListObjects(listing *ObjectListing) (*ObjectListing, error)

NextListObjects returns next page of object listing.

func (*DefaultStorageClient) NextListParts

func (cli *DefaultStorageClient) NextListParts(prev *PartListing) (listing *PartListing, err error)

NextListParts returns next page of parts

func (*DefaultStorageClient) PutBucket

func (cli *DefaultStorageClient) PutBucket(bucket string) error

PutBucket creates new bucket (PUT Bucket)

func (*DefaultStorageClient) PutBucketPolicy

func (cli *DefaultStorageClient) PutBucketPolicy(bucket string, r io.Reader) error

PutBucketPolicy puts a policy of the specified bucket.

func (*DefaultStorageClient) PutObject

func (cli *DefaultStorageClient) PutObject(bucket, key string, f *os.File, metadata *ObjectMetadata) error

PutObject uploads a file (PUT Object)

func (*DefaultStorageClient) PutObjectAt

func (cli *DefaultStorageClient) PutObjectAt(bucket, key string, f *os.File, off, n int64, metadata *ObjectMetadata) error

PutObjectAt uploads n bytes from the File starting at byte offset off.

func (*DefaultStorageClient) ResumeUploadFile

func (cli *DefaultStorageClient) ResumeUploadFile(bucket, key, uploadId string, fd *os.File, metadata *ObjectMetadata) (err error)

func (*DefaultStorageClient) Sign

func (cli *DefaultStorageClient) Sign(req *http.Request) error

Sign calculates a signature string and set to the Authorization header.

func (*DefaultStorageClient) Upload

func (cli *DefaultStorageClient) Upload(bucket, key string, r io.Reader, metadata *ObjectMetadata) (err error)

Upload uploads data as storage object from read the io.Reader

func (*DefaultStorageClient) UploadFile

func (cli *DefaultStorageClient) UploadFile(bucket, key string, fd *os.File, metadata *ObjectMetadata) (err error)

UploadFile uploads a file as storage object

func (*DefaultStorageClient) UploadPart

func (cli *DefaultStorageClient) UploadPart(upload *MultipartUpload, num int, f *os.File) (p *Part, err error)

UploadPart uploads a part of the multipart upload

func (*DefaultStorageClient) UploadPartAt

func (cli *DefaultStorageClient) UploadPartAt(upload *MultipartUpload, num int, f *os.File, off, n int64) (p *Part, err error)

UploadPartAt uploads n bytes from the File starting at byte offset off.

type DeletedObject

type DeletedObject struct {
	Key string `xml:"Key"`
}

DeletedObject is an object that has been deleted.

type DigestReader

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

DigestReader is io.Reader and calculate digest(md5)

func (DigestReader) Digest

func (r DigestReader) Digest() []byte

Digest returns MD5 value of read data

func (DigestReader) Read

func (r DigestReader) Read(p []byte) (n int, err error)

Read specified bytes

type DownTraffic

type DownTraffic struct {
	ChargeDate string `xml:"ChargeDate"`
	Amount     int64  `xml:"Amount"`
}

DownTraffic is network traffic of the DAG storage.

type ErrorResponse

type ErrorResponse struct {
	XMLName   xml.Name `xml:"Error"`
	Code      string   `xml:"Code"`
	Message   string   `xml:"Message"`
	Resource  string   `xml:"Resource"`
	RequestID string   `xml:"RequestId"`
	ErrorCode int
}

ErrorResponse represents error information of dagrin REST API

func (ErrorResponse) Error

func (e ErrorResponse) Error() string

type HTTPClient

type HTTPClient interface {
	Do(req *http.Request) (resp *http.Response, err error)
}

HTTPClient defines Do method for HTTP client

func NewDefaultHTTPClient

func NewDefaultHTTPClient(cli *DefaultStorageClient) HTTPClient

NewDefaultHTTPClient implements HTTPClient

type ListTrafficResult

type ListTrafficResult struct {
	XMLName      xml.Name       `xml:"ListTrafficResult"`
	DownTraffics []*DownTraffic `xml:"DownTraffics"`
}

ListTrafficResult is list of a DAG network traffic.

type MockHTTPClient

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

MockHTTPClient is a mock of HTTPClient interface

func NewMockHTTPClient

func NewMockHTTPClient(ctrl *gomock.Controller) *MockHTTPClient

NewMockHTTPClient creates a new mock instance

func (*MockHTTPClient) Do

func (m *MockHTTPClient) Do(req *http.Request) (*http.Response, error)

Do mocks base method

func (*MockHTTPClient) EXPECT

EXPECT returns an object that allows the caller to indicate expected use

type MockHTTPClientMockRecorder

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

MockHTTPClientMockRecorder is the mock recorder for MockHTTPClient

func (*MockHTTPClientMockRecorder) Do

func (mr *MockHTTPClientMockRecorder) Do(req interface{}) *gomock.Call

Do indicates an expected call of Do

type MockStorageClient

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

MockStorageClient is a mock of StorageClient interface

func NewMockStorageClient

func NewMockStorageClient(ctrl *gomock.Controller) *MockStorageClient

NewMockStorageClient creates a new mock instance

func (*MockStorageClient) AbortMultipartUpload

func (m *MockStorageClient) AbortMultipartUpload(upload *MultipartUpload) error

AbortMultipartUpload mocks base method

func (*MockStorageClient) CompleteMultipartUpload

func (m *MockStorageClient) CompleteMultipartUpload(upload *MultipartUpload, parts []*Part) (*CompleteMultipartUploadResult, error)

CompleteMultipartUpload mocks base method

func (*MockStorageClient) DeleteBucket

func (m *MockStorageClient) DeleteBucket(bucket string) error

DeleteBucket mocks base method

func (*MockStorageClient) DeleteBucketPolicy

func (m *MockStorageClient) DeleteBucketPolicy(bucket string) error

DeleteBucketPolicy mocks base method

func (*MockStorageClient) DeleteMultipleObjects

func (m *MockStorageClient) DeleteMultipleObjects(bucket string, keys []string, quiet bool) (*MultipleDeletionResult, error)

DeleteMultipleObjects mocks base method

func (*MockStorageClient) DeleteObject

func (m *MockStorageClient) DeleteObject(bucket, key string) error

DeleteObject mocks base method

func (*MockStorageClient) DoesBucketExist

func (m *MockStorageClient) DoesBucketExist(bucket string) (bool, error)

DoesBucketExist mocks base method

func (*MockStorageClient) DoesObjectExist

func (m *MockStorageClient) DoesObjectExist(bucket, key string) (bool, error)

DoesObjectExist mocks base method

func (*MockStorageClient) EXPECT

EXPECT returns an object that allows the caller to indicate expected use

func (*MockStorageClient) GetBucketPolicy

func (m *MockStorageClient) GetBucketPolicy(bucket string) (io.ReadCloser, error)

GetBucketPolicy mocks base method

func (*MockStorageClient) GetNetworkTraffic

func (m *MockStorageClient) GetNetworkTraffic(date string) (*DownTraffic, error)

GetNetworkTraffic mocks base method

func (*MockStorageClient) GetObject

func (m *MockStorageClient) GetObject(bucket, key string) (io.ReadCloser, error)

GetObject mocks base method

func (*MockStorageClient) GetObjectMetadata

func (m *MockStorageClient) GetObjectMetadata(bucket, key string) (*Object, error)

GetObjectMetadata mocks base method

func (*MockStorageClient) GetObjectSummary

func (m *MockStorageClient) GetObjectSummary(bucket, key string) (*ObjectSummary, error)

GetObjectSummary mocks base method

func (*MockStorageClient) GetStorageSpace

func (m *MockStorageClient) GetStorageSpace() (*StorageSpace, error)

GetStorageSpace mocks base method

func (*MockStorageClient) InitiateMultipartUpload

func (m *MockStorageClient) InitiateMultipartUpload(bucket, key string, metadata *ObjectMetadata) (*MultipartUpload, error)

InitiateMultipartUpload mocks base method

func (*MockStorageClient) ListBuckets

func (m *MockStorageClient) ListBuckets() (*BucketListing, error)

ListBuckets mocks base method

func (*MockStorageClient) ListMultipartUploads

func (m *MockStorageClient) ListMultipartUploads(bucket, prefix, keyMarker, uploadIdMarker, delimiter string, maxUploads int) (*MultipartUploadListing, error)

ListMultipartUploads mocks base method

func (*MockStorageClient) ListNetworkTraffics

func (m *MockStorageClient) ListNetworkTraffics(backwardTo int) (*ListTrafficResult, error)

ListNetworkTraffics mocks base method

func (*MockStorageClient) ListObjects

func (m *MockStorageClient) ListObjects(bucket, prefix, marker, delimiter string, maxKeys int) (*ObjectListing, error)

ListObjects mocks base method

func (*MockStorageClient) ListParts

func (m *MockStorageClient) ListParts(bucket, key, uploadId string, partNumberMarker, maxParts int) (*PartListing, error)

ListParts mocks base method

func (*MockStorageClient) NextListMultipartUploads

func (m *MockStorageClient) NextListMultipartUploads(previous *MultipartUploadListing) (*MultipartUploadListing, error)

NextListMultipartUploads mocks base method

func (*MockStorageClient) NextListObjects

func (m *MockStorageClient) NextListObjects(previous *ObjectListing) (*ObjectListing, error)

NextListObjects mocks base method

func (*MockStorageClient) NextListParts

func (m *MockStorageClient) NextListParts(previous *PartListing) (*PartListing, error)

NextListParts mocks base method

func (*MockStorageClient) PutBucket

func (m *MockStorageClient) PutBucket(bucket string) error

PutBucket mocks base method

func (*MockStorageClient) PutBucketPolicy

func (m *MockStorageClient) PutBucketPolicy(bucket string, policy io.Reader) error

PutBucketPolicy mocks base method

func (*MockStorageClient) PutObject

func (m *MockStorageClient) PutObject(bucket, key string, data *os.File, metadata *ObjectMetadata) error

PutObject mocks base method

func (*MockStorageClient) PutObjectAt

func (m *MockStorageClient) PutObjectAt(bucket, key string, data *os.File, off, length int64, metadata *ObjectMetadata) error

PutObjectAt mocks base method

func (*MockStorageClient) ResumeUploadFile

func (m *MockStorageClient) ResumeUploadFile(bucket, key, uploadId string, fd *os.File, metadata *ObjectMetadata) error

ResumeUploadFile mocks base method

func (*MockStorageClient) Sign

func (m *MockStorageClient) Sign(req *http.Request) error

Sign mocks base method

func (*MockStorageClient) Upload

func (m *MockStorageClient) Upload(bucket, key string, data io.Reader, metadata *ObjectMetadata) error

Upload mocks base method

func (*MockStorageClient) UploadFile

func (m *MockStorageClient) UploadFile(bucket, key string, fd *os.File, metadata *ObjectMetadata) error

UploadFile mocks base method

func (*MockStorageClient) UploadPart

func (m *MockStorageClient) UploadPart(upload *MultipartUpload, num int, data *os.File) (*Part, error)

UploadPart mocks base method

func (*MockStorageClient) UploadPartAt

func (m *MockStorageClient) UploadPartAt(upload *MultipartUpload, num int, data *os.File, off, length int64) (*Part, error)

UploadPartAt mocks base method

type MockStorageClientMockRecorder

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

MockStorageClientMockRecorder is the mock recorder for MockStorageClient

func (*MockStorageClientMockRecorder) AbortMultipartUpload

func (mr *MockStorageClientMockRecorder) AbortMultipartUpload(upload interface{}) *gomock.Call

AbortMultipartUpload indicates an expected call of AbortMultipartUpload

func (*MockStorageClientMockRecorder) CompleteMultipartUpload

func (mr *MockStorageClientMockRecorder) CompleteMultipartUpload(upload, parts interface{}) *gomock.Call

CompleteMultipartUpload indicates an expected call of CompleteMultipartUpload

func (*MockStorageClientMockRecorder) DeleteBucket

func (mr *MockStorageClientMockRecorder) DeleteBucket(bucket interface{}) *gomock.Call

DeleteBucket indicates an expected call of DeleteBucket

func (*MockStorageClientMockRecorder) DeleteBucketPolicy

func (mr *MockStorageClientMockRecorder) DeleteBucketPolicy(bucket interface{}) *gomock.Call

DeleteBucketPolicy indicates an expected call of DeleteBucketPolicy

func (*MockStorageClientMockRecorder) DeleteMultipleObjects

func (mr *MockStorageClientMockRecorder) DeleteMultipleObjects(bucket, keys, quiet interface{}) *gomock.Call

DeleteMultipleObjects indicates an expected call of DeleteMultipleObjects

func (*MockStorageClientMockRecorder) DeleteObject

func (mr *MockStorageClientMockRecorder) DeleteObject(bucket, key interface{}) *gomock.Call

DeleteObject indicates an expected call of DeleteObject

func (*MockStorageClientMockRecorder) DoesBucketExist

func (mr *MockStorageClientMockRecorder) DoesBucketExist(bucket interface{}) *gomock.Call

DoesBucketExist indicates an expected call of DoesBucketExist

func (*MockStorageClientMockRecorder) DoesObjectExist

func (mr *MockStorageClientMockRecorder) DoesObjectExist(bucket, key interface{}) *gomock.Call

DoesObjectExist indicates an expected call of DoesObjectExist

func (*MockStorageClientMockRecorder) GetBucketPolicy

func (mr *MockStorageClientMockRecorder) GetBucketPolicy(bucket interface{}) *gomock.Call

GetBucketPolicy indicates an expected call of GetBucketPolicy

func (*MockStorageClientMockRecorder) GetNetworkTraffic

func (mr *MockStorageClientMockRecorder) GetNetworkTraffic(date interface{}) *gomock.Call

GetNetworkTraffic indicates an expected call of GetNetworkTraffic

func (*MockStorageClientMockRecorder) GetObject

func (mr *MockStorageClientMockRecorder) GetObject(bucket, key interface{}) *gomock.Call

GetObject indicates an expected call of GetObject

func (*MockStorageClientMockRecorder) GetObjectMetadata

func (mr *MockStorageClientMockRecorder) GetObjectMetadata(bucket, key interface{}) *gomock.Call

GetObjectMetadata indicates an expected call of GetObjectMetadata

func (*MockStorageClientMockRecorder) GetObjectSummary

func (mr *MockStorageClientMockRecorder) GetObjectSummary(bucket, key interface{}) *gomock.Call

GetObjectSummary indicates an expected call of GetObjectSummary

func (*MockStorageClientMockRecorder) GetStorageSpace

func (mr *MockStorageClientMockRecorder) GetStorageSpace() *gomock.Call

GetStorageSpace indicates an expected call of GetStorageSpace

func (*MockStorageClientMockRecorder) InitiateMultipartUpload

func (mr *MockStorageClientMockRecorder) InitiateMultipartUpload(bucket, key, metadata interface{}) *gomock.Call

InitiateMultipartUpload indicates an expected call of InitiateMultipartUpload

func (*MockStorageClientMockRecorder) ListBuckets

func (mr *MockStorageClientMockRecorder) ListBuckets() *gomock.Call

ListBuckets indicates an expected call of ListBuckets

func (*MockStorageClientMockRecorder) ListMultipartUploads

func (mr *MockStorageClientMockRecorder) ListMultipartUploads(bucket, prefix, keyMarker, uploadIdMarker, delimiter, maxUploads interface{}) *gomock.Call

ListMultipartUploads indicates an expected call of ListMultipartUploads

func (*MockStorageClientMockRecorder) ListNetworkTraffics

func (mr *MockStorageClientMockRecorder) ListNetworkTraffics(backwardTo interface{}) *gomock.Call

ListNetworkTraffics indicates an expected call of ListNetworkTraffics

func (*MockStorageClientMockRecorder) ListObjects

func (mr *MockStorageClientMockRecorder) ListObjects(bucket, prefix, marker, delimiter, maxKeys interface{}) *gomock.Call

ListObjects indicates an expected call of ListObjects

func (*MockStorageClientMockRecorder) ListParts

func (mr *MockStorageClientMockRecorder) ListParts(bucket, key, uploadId, partNumberMarker, maxParts interface{}) *gomock.Call

ListParts indicates an expected call of ListParts

func (*MockStorageClientMockRecorder) NextListMultipartUploads

func (mr *MockStorageClientMockRecorder) NextListMultipartUploads(previous interface{}) *gomock.Call

NextListMultipartUploads indicates an expected call of NextListMultipartUploads

func (*MockStorageClientMockRecorder) NextListObjects

func (mr *MockStorageClientMockRecorder) NextListObjects(previous interface{}) *gomock.Call

NextListObjects indicates an expected call of NextListObjects

func (*MockStorageClientMockRecorder) NextListParts

func (mr *MockStorageClientMockRecorder) NextListParts(previous interface{}) *gomock.Call

NextListParts indicates an expected call of NextListParts

func (*MockStorageClientMockRecorder) PutBucket

func (mr *MockStorageClientMockRecorder) PutBucket(bucket interface{}) *gomock.Call

PutBucket indicates an expected call of PutBucket

func (*MockStorageClientMockRecorder) PutBucketPolicy

func (mr *MockStorageClientMockRecorder) PutBucketPolicy(bucket, policy interface{}) *gomock.Call

PutBucketPolicy indicates an expected call of PutBucketPolicy

func (*MockStorageClientMockRecorder) PutObject

func (mr *MockStorageClientMockRecorder) PutObject(bucket, key, data, metadata interface{}) *gomock.Call

PutObject indicates an expected call of PutObject

func (*MockStorageClientMockRecorder) PutObjectAt

func (mr *MockStorageClientMockRecorder) PutObjectAt(bucket, key, data, off, length, metadata interface{}) *gomock.Call

PutObjectAt indicates an expected call of PutObjectAt

func (*MockStorageClientMockRecorder) ResumeUploadFile

func (mr *MockStorageClientMockRecorder) ResumeUploadFile(bucket, key, uploadId, fd, metadata interface{}) *gomock.Call

ResumeUploadFile indicates an expected call of ResumeUploadFile

func (*MockStorageClientMockRecorder) Sign

func (mr *MockStorageClientMockRecorder) Sign(req interface{}) *gomock.Call

Sign indicates an expected call of Sign

func (*MockStorageClientMockRecorder) Upload

func (mr *MockStorageClientMockRecorder) Upload(bucket, key, data, metadata interface{}) *gomock.Call

Upload indicates an expected call of Upload

func (*MockStorageClientMockRecorder) UploadFile

func (mr *MockStorageClientMockRecorder) UploadFile(bucket, key, fd, metadata interface{}) *gomock.Call

UploadFile indicates an expected call of UploadFile

func (*MockStorageClientMockRecorder) UploadPart

func (mr *MockStorageClientMockRecorder) UploadPart(upload, num, data interface{}) *gomock.Call

UploadPart indicates an expected call of UploadPart

func (*MockStorageClientMockRecorder) UploadPartAt

func (mr *MockStorageClientMockRecorder) UploadPartAt(upload, num, data, off, length interface{}) *gomock.Call

UploadPartAt indicates an expected call of UploadPartAt

type MultipartUpload

type MultipartUpload struct {
	Bucket   string `xml:"Bucket"`
	Key      string `xml:"Key"`
	UploadID string `xml:"UploadId"`
}

MultipartUpload is multipart upload's identifier information

func (*MultipartUpload) String

func (m *MultipartUpload) String() string

type MultipartUploadListing

type MultipartUploadListing struct {
	Bucket             string                   `xml:"Bucket"`
	Prefix             string                   `xml:"Prefix"`
	KeyMarker          string                   `xml:"KeyMarker"`
	UploadIdMarker     string                   `xml:"UploadIdMarker"`
	MaxUploads         int                      `xml:"MaxUploads"`
	Delimiter          string                   `xml:"Delimiter"`
	NextKeyMarker      string                   `xml:"NextKeyMarker"`
	NextUploadIdMarker string                   `xml:"NextUploadIdMarker"`
	IsTruncated        bool                     `xml:"IsTruncated"`
	Uploads            []MultipartUploadSummary `xml:"Upload"`
	CommonPrefixes     []string                 `xml:"CommonPrefixes>Prefix"`
}

MultipartUploadListing returns list of MultipartUpload

func (*MultipartUploadListing) IsEmpty

func (listing *MultipartUploadListing) IsEmpty() bool

IsEmpty returns true if listing has no CommonPrefixes and no Uploads

func (*MultipartUploadListing) String

func (listing *MultipartUploadListing) String() string

type MultipartUploadSummary

type MultipartUploadSummary struct {
	Key          string    `xml:"Key"`
	UploadId     string    `xml:"UploadId"`
	Initiator    Owner     `xml:"Initiator"`
	Owner        Owner     `xml:"Owner"`
	StorageClass string    `xml:"StorageClass"`
	Initiated    time.Time `xml:"Initiated"`
}

MultipartUploadSummary is multipart upload's summary

func (*MultipartUploadSummary) String

func (summary *MultipartUploadSummary) String() string

type MultipleDeletionError

type MultipleDeletionError struct {
	Key     string `xml:"Key"`
	Code    string `xml:"Code"`
	Message string `xml:"Message"`
}

MultipleDeletionError is a part of errors in a Delete Multiple Objects request.

func (*MultipleDeletionError) Error

func (e *MultipleDeletionError) Error() string

func (*MultipleDeletionError) String

func (e *MultipleDeletionError) String() string

type MultipleDeletionResult

type MultipleDeletionResult struct {
	DeletedObjects []DeletedObject         `xml:"Deleted"`
	Errors         []MultipleDeletionError `xml:"Error"`
}

MultipleDeletionResult is result of Delete Multiple Objects.

func (*MultipleDeletionResult) HasErrors

func (res *MultipleDeletionResult) HasErrors() bool

HasErrors returns contains error in result.

type NewHTTPClient

type NewHTTPClient func(cli *DefaultStorageClient) HTTPClient

NewHTTPClient define ClientStorageClient instance

type Object

type Object struct {
	Bucket       string
	Key          string
	ETag         string
	LastModified time.Time
	Size         int64
	Metadata     *ObjectMetadata
}

Object is meta information of `Object` in dagrin

type ObjectListing

type ObjectListing struct {
	Name           string          `xml:"Name"`
	Prefix         string          `xml:"Prefix"`
	Marker         string          `xml:"Marker"`
	MaxKeys        int             `xml:"MaxKeys"`
	Delimiter      string          `xml:"Delimiter"`
	NextMarker     string          `xml:"NextMarker"`
	IsTruncated    bool            `xml:"IsTruncated"`
	Summaries      []ObjectSummary `xml:"Contents"`
	CommonPrefixes []CommonPrefix  `xml:"CommonPrefixes"`
}

ObjectListing returns list of ObjectSummary

func (*ObjectListing) IsEmpty

func (listing *ObjectListing) IsEmpty() bool

IsEmpty returns true if no CommonPrefixes and no Summaries

func (*ObjectListing) String

func (listing *ObjectListing) String() string

type ObjectMetadata

type ObjectMetadata struct {
	ContentLength           int64
	ContentType             string
	ContentMD5              string
	ContentDisposition      string
	ContentEncoding         string
	CacheControl            string
	WebsiteRedirectLocation string
	UserMetadata            *UserMetadata
}

ObjectMetadata is object's user metadata and HTTP metadata.

func (*ObjectMetadata) AddUserMetadata

func (m *ObjectMetadata) AddUserMetadata(name string, value string)

AddUserMetadata add a user metadata.

func (*ObjectMetadata) GetUserMetadata

func (m *ObjectMetadata) GetUserMetadata(key string) string

GetUserMetadata returns user metadata

func (*ObjectMetadata) SetMetadata

func (m *ObjectMetadata) SetMetadata(h http.Header)

SetMetadata set metadata to HTTP header

func (*ObjectMetadata) String

func (m *ObjectMetadata) String() string

type ObjectSummary

type ObjectSummary struct {
	Key          string    `xml:"Key"`
	LastModified time.Time `xml:"LastModified"`
	ETag         string    `xml:"ETag"`
	Size         int64     `xml:"Size"`
	StorageClass string    `xml:"StorageClass"`
	Owner        Owner     `xml:"Owner"`
}

ObjectSummary is summary of an Object's meta information in dagrin

func (ObjectSummary) String

func (s ObjectSummary) String() string

type Owner

type Owner struct {
	ID          string `xml:"ID"`
	DisplayName string `xml:"DisplayName"`
}

Owner is user information of Bucket/Object owner

func (Owner) String

func (o Owner) String() string

type Part

type Part struct {
	PartNumber int    `xml:"PartNumber"`
	ETag       string `xml:"ETag"`
}

Part is meta information of a part of multipart upload.

func (Part) String

func (p Part) String() string

type PartDescription

type PartDescription struct {
	Part
	LastModified time.Time `xml:"LastModified"`
	Size         int64     `xml:"Size"`
}

PartDescription is more information of Part.

type PartListing

type PartListing struct {
	Bucket               string            `xml:"Bucket"`
	Key                  string            `xml:"Key"`
	UploadId             string            `xml:"UploadId"`
	PartNumberMarker     int               `xml:"PartNumberMarker"`
	MaxParts             int               `xml:"MaxParts"`
	NextPartNumberMarker int               `xml:"NextPartNumberMarker"`
	IsTruncated          bool              `xml:"IsTruncated"`
	Initiator            Owner             `xml:"Initiator"`
	Owner                Owner             `xml:"Owner"`
	StorageClass         string            `xml:"StorageClass"`
	Parts                []PartDescription `xml:"Part"`
}

PartListing returns list of PartDescription

func (PartListing) GetPart

func (listing PartListing) GetPart(partNumber int) *PartDescription

GetPart returns a part of specified number

func (*PartListing) IsEmpty

func (listing *PartListing) IsEmpty() bool

IsEmpty return true if listing has no Parts

func (*PartListing) String

func (listing *PartListing) String() string

type StorageClient

type StorageClient interface {

	// Service API methods
	GetStorageSpace() (*StorageSpace, error)
	ListNetworkTraffics(backwardTo int) (*ListTrafficResult, error)
	GetNetworkTraffic(date string) (*DownTraffic, error)

	// Bucket API methods
	ListBuckets() (*BucketListing, error)
	PutBucket(bucket string) error
	DeleteBucket(bucket string) error
	DoesBucketExist(bucket string) (bool, error)
	GetBucketPolicy(bucket string) (io.ReadCloser, error)
	PutBucketPolicy(bucket string, policy io.Reader) error
	DeleteBucketPolicy(bucket string) error

	// Object API methods
	ListObjects(bucket, prefix, marker, delimiter string, maxKeys int) (*ObjectListing, error)
	NextListObjects(previous *ObjectListing) (*ObjectListing, error)
	PutObject(bucket, key string, data *os.File, metadata *ObjectMetadata) error
	PutObjectAt(bucket, key string, data *os.File, off, length int64, metadata *ObjectMetadata) error
	GetObject(bucket, key string) (io.ReadCloser, error)
	DoesObjectExist(bucket, key string) (bool, error)
	GetObjectSummary(bucket, key string) (*ObjectSummary, error)
	GetObjectMetadata(bucket, key string) (*Object, error)
	DeleteObject(bucket, key string) error
	DeleteMultipleObjects(bucket string, keys []string, quiet bool) (*MultipleDeletionResult, error)

	// MultipartUpload API methods
	ListMultipartUploads(bucket, prefix, keyMarker, uploadIdMarker, delimiter string, maxUploads int) (*MultipartUploadListing, error)
	NextListMultipartUploads(previous *MultipartUploadListing) (*MultipartUploadListing, error)
	InitiateMultipartUpload(bucket, key string, metadata *ObjectMetadata) (*MultipartUpload, error)
	AbortMultipartUpload(upload *MultipartUpload) error
	CompleteMultipartUpload(upload *MultipartUpload, parts []*Part) (*CompleteMultipartUploadResult, error)
	ListParts(bucket, key, uploadId string, partNumberMarker, maxParts int) (*PartListing, error)
	NextListParts(previous *PartListing) (*PartListing, error)
	UploadPart(upload *MultipartUpload, num int, data *os.File) (*Part, error)
	UploadPartAt(upload *MultipartUpload, num int, data *os.File, off, length int64) (*Part, error)

	// Utility methods
	Sign(req *http.Request) error

	// -----------------------
	// High Level API
	// -----------------------
	Upload(bucket, key string, data io.Reader, metadata *ObjectMetadata) error
	UploadFile(bucket, key string, fd *os.File, metadata *ObjectMetadata) error
	ResumeUploadFile(bucket, key, uploadId string, fd *os.File, metadata *ObjectMetadata) error
}

StorageClient defines a client for the DAG storage.

func NewStorageClient

func NewStorageClient(env *env.Environment) (StorageClient, error)

NewStorageClient returns a initiated Client of DAG storage.

type StorageClientConfig

type StorageClientConfig struct {
	Endpoint           string
	AccessKeyID        string
	SecretAccessKey    string
	Secure             bool
	Proxy              string
	MultipartChunkSize int64
	TempDir            string
	Retry              int
	RetryInterval      time.Duration
	Vendor             string
	AbortOnFailure     bool
}

StorageClientConfig defines parameters for the Client

type StorageSpace

type StorageSpace struct {
	XMLName      xml.Name `xml:"StorageSpaceInfo"`
	ContractUsed int64    `xml:"ContractUsed"`
	AccountUsed  int64    `xml:"AccountUsed"`
}

StorageSpace is a usage of the DAG storage.

type UserMetadata

type UserMetadata map[string][]string

UserMetadata is object's custom metadata.

func (*UserMetadata) Add

func (um *UserMetadata) Add(name string, value string)

Add a user metadata

func (*UserMetadata) String

func (um *UserMetadata) String() string

Jump to

Keyboard shortcuts

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