object

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

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

Go to latest
Published: Jan 27, 2021 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	S3_ENDPOINT              = env.String("WORMHOL_S3_ENDPOINT", "s3.amazonaws.com")
	S3_REGION                = env.String("WORMHOL_S3_REGION", "")
	S3_ACCESS_KEY_ID         = env.String("WORMHOL_S3_ACCESS_KEY_ID", "")
	S3_SECRET_ACCESS_KEY     = env.String("WORMHOL_S3_SECRET_ACCESS_KEY", "")
	S3_BUCKET                = env.String("WORMHOL_S3_BUCKET", "")
	S3_ACL                   = env.String("WORMHOL_S3_ACL", s3.ObjectCannedACLPrivate)
	S3_SSE                   = env.String("WORMHOL_S3_SSE", s3.ServerSideEncryptionAes256)
	S3_STORAGE_CLASS         = env.String("WORMHOL_S3_STORAGE_CLASS", s3.ObjectStorageClassOnezoneIa)
	S3_LIST_OBJECTS_MAX_KEYS = env.Int64("WORMHOL_S3_LIST_OBJECTS_MAX_KEYS", 1000)
	OBJECT_KEY_BASE          = env.String("WORMHOL_OBJECT_KEY_BASE", "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")
	OBJECT_KEY_LENGTH        = env.Int("WORMHOL_OBJECT_KEY_LENGTH", 4)
	OBJECT_KEY_DELAY_MAX     = time.Duration(env.Int("WORMHOL_OBJECT_KEY_DELAY_MAX_SECONDS", 5)) * time.Second
	OBJECT_NAME_LENGTH_MIN   = env.Int("WORMHOL_OBJECT_NAME_LENGTH_MIN", 1)
	OBJECT_NAME_LENGTH_MAX   = env.Int("WORMHOL_OBJECT_NAME_LENGTH_MAX", 255)
	OBJECT_SIZE_MIN          = env.Int64("WORMHOL_OBJECT_SIZE_MIN_BYTES", 0)
	OBJECT_SIZE_MAX          = env.Int64("WORMHOL_OBJECT_SIZE_MAX_BYTES", 5*1000000000)
	OBJECT_TIME_TO_LIVE      = time.Duration(env.Int("WORMHOL_OBJECT_TIME_TO_LIVE_SECONDS", 60*60*24*3-1)) * time.Second
)

Functions

func Reap

func Reap() (int, error)

Types

type Object

type Object struct {
	Key                 string            `json:"key"`
	Name                string            `json:"name"`
	SizeBytes           int64             `json:"size"`
	LastModified        time.Time         `json:"last_modified"`
	ExpirationSeconds   int64             `json:"expiration"`
	PresignedGetUrl     string            `json:"presigned_get_url"`
	PresignedPutUrl     string            `json:"presigned_put_url"`
	PresignedPutHeaders map[string]string `json:"presigned_put_headers"`
}

func List

func List() ([]*Object, error)

func Retrieve

func Retrieve(key string) (*Object, error)

func Store

func Store(name string, size int64) (*Object, error)

func (*Object) Delete

func (o *Object) Delete() error

Jump to

Keyboard shortcuts

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