Versions in this module Expand all Collapse all v1 v1.0.0 Dec 10, 2023 Changes in this version + var CursorStart = "" + var ErrBadCursor = errors.New("bad cursor") + var ErrNotFound = errors.New("not found") + var NoPrefix = "" + func IsCursorEnd(cursor string) bool + func IsNotSupported(err error) bool + func KindByURL(u *url.URL) (string, error) + func Kinds() []string + func NotSupported(feature string) error + func Register(kind string, makefn func(Config) (Location, error), ...) + func Validate(kind string, config Config) error + func Walk(container Container, prefix string, pageSize int, fn WalkFunc) error + func WalkContainers(location Location, prefix string, pageSize int, fn WalkContainersFunc) error + type ClientMethod int + const ClientMethodGet + const ClientMethodPut + func ClientMethodString(s string) (ClientMethod, error) + func ClientMethodValues() []ClientMethod + func (i *ClientMethod) UnmarshalJSON(data []byte) error + func (i ClientMethod) IsAClientMethod() bool + func (i ClientMethod) MarshalJSON() ([]byte, error) + func (i ClientMethod) String() string + type Config interface + Config func(name string) (string, bool) + Set func(name, value string) + type ConfigMap map[string]string + func (c ConfigMap) Config(name string) (string, bool) + func (c ConfigMap) Set(name, value string) + type Container interface + ID func() string + Item func(id string) (Item, error) + Items func(prefix, cursor string, count int) ([]Item, string, error) + Name func() string + PreSignRequest func(ctx context.Context, clientMethod ClientMethod, id string, ...) (url string, err error) + Put func(name string, r io.Reader, size int64, metadata map[string]interface{}) (Item, error) + RemoveItem func(id string) error + type HttpMethod = string + type Item interface + ETag func() (string, error) + ID func() string + LastMod func() (time.Time, error) + Metadata func() (map[string]interface{}, error) + Name func() string + Open func() (io.ReadCloser, error) + Size func() (int64, error) + URL func() *url.URL + type ItemRanger interface + OpenRange func(start, end uint64) (io.ReadCloser, error) + type Location interface + Container func(id string) (Container, error) + Containers func(prefix string, cursor string, count int) ([]Container, string, error) + CreateContainer func(name string) (Container, error) + ItemByURL func(url *url.URL) (Item, error) + RemoveContainer func(id string) error + func Dial(kind string, config Config) (Location, error) + type PresignRequestParams struct + ContentMD5 string + ExpiresIn time.Duration + ExtraParams map[string]interface{} + HttpMethod HttpMethod + type Taggable interface + Tags func() (map[string]interface{}, error) + type WalkContainersFunc func(container Container, err error) error + type WalkFunc func(item Item, err error) error