Versions in this module Expand all Collapse all v0 v0.6.1 Feb 26, 2019 Changes in this version + const DefaultAwsRegion + const SwiftKeyEnvVar + const SwiftUserEnvVar + func CalcDigest(obj Object, downloadRangeSize int64, algorithm string) ([]byte, error) + func DisallowIAMFallback(awsSession *session.Session) (*session.Session, error) + func Download(obj Object, rangeSize int64, out io.Writer) (n int64, err error) + func EnsureS3Region(region string, endpoint *url.URL) string + func InitS3Session(endpointP *string, regionStrP *string) (*session.Session, error) + func IsEC2() (bool, error) + func RegionFromEndpoint(endpoint *url.URL) (*string, error) + func ValidS3Session(endpointP *string, regionStrP *string) (awsSession *session.Session, err error) + type Object interface + ContentLength func() (length int64, err error) + Create func(body io.Reader, length int64) (err error) + Delete func() (err error) + DownloadRange func(startInclusive, endInclusive int64, buffer []byte) (n int64, err error) + GetEndpoint func() Target + Pretty func() string + func NewObject(objURL, endpointURL *url.URL, regionStr string) (Object, error) + type S3Logger struct + func (*S3Logger) Log(a ...interface{}) + type S3Object struct + Endpoint *S3Target + Key string + func (obj *S3Object) ContentLength() (length int64, err error) + func (obj *S3Object) Create(body io.Reader, length int64) (err error) + func (obj *S3Object) Delete() (err error) + func (obj *S3Object) DownloadRange(startInclusive, endInclusive int64, buffer []byte) (n int64, err error) + func (obj *S3Object) Get() (h *s3.GetObjectOutput, err error) + func (obj *S3Object) GetEndpoint() Target + func (obj *S3Object) Head() (h *s3.HeadObjectOutput, err error) + func (obj *S3Object) Pretty() string + func (obj *S3Object) String() string + func (obj *S3Object) SupportsRanges() bool + type S3Target struct + Bucket string + Endpoint string + Region string + func NewS3Target(region string, endpointURL *url.URL, bucket string) *S3Target + func (e *S3Target) Object(key string) Object + func (e *S3Target) Pretty() string + func (e *S3Target) S3() (*s3.S3, error) + func (e *S3Target) Session() (*session.Session, error) + func (e *S3Target) String() string + type SwiftObject struct + Container string + Endpoint *SwiftTarget + Name string + func (obj *SwiftObject) ContentLength() (length int64, err error) + func (obj *SwiftObject) Create(body io.Reader, length int64) (err error) + func (obj *SwiftObject) Delete() (err error) + func (obj *SwiftObject) DownloadRange(startInclusive, endInclusive int64, buffer []byte) (n int64, err error) + func (obj *SwiftObject) GetEndpoint() Target + func (obj *SwiftObject) Pretty() string + func (obj *SwiftObject) String() string + type SwiftTarget struct + APIKey string + AuthURL *url.URL + Container string + UserName string + func NewSwiftEndpoint(endpointUrl *url.URL, container string) (*SwiftTarget, error) + func (e *SwiftTarget) Connection() (*swift.Connection, error) + func (e *SwiftTarget) Object(key string) Object + func (e *SwiftTarget) Pretty() string + func (e *SwiftTarget) String() string + type Target interface + Object func(key string) Object + Pretty func() string + func NewTarget(endpointURL *url.URL, bucketURL *url.URL, region string) (Target, error)