Versions in this module Expand all Collapse all v0 v0.56.0 Oct 11, 2026 v0.55.0 Oct 9, 2026 v0.54.0 Oct 8, 2026 v0.53.0 Oct 7, 2026 v0.52.0 Oct 5, 2026 v0.51.0 Oct 4, 2026 v0.50.0 Oct 3, 2026 v0.49.0 Sep 29, 2026 v0.48.1 Sep 28, 2026 v0.48.0 Sep 28, 2026 v0.47.0 Sep 26, 2026 v0.46.1 Sep 26, 2026 v0.46.0 Sep 26, 2026 v0.45.1 Sep 25, 2026 v0.45.0 Sep 25, 2026 v0.44.2 Sep 25, 2026 v0.43.0 Sep 24, 2026 Changes in this version + const KindDir + const KindFile + const KindLink + const Protocol + var ErrNotFound = errors.New("not found") + var ErrReadOnly = errors.New("read only") + var ErrUnsupported = errors.New("unsupported") + func Bool(cfg map[string]any, key string, def bool) bool + func Int(cfg map[string]any, key string, def int) int + func Run[T Backend](ctx context.Context, p Plugin[T]) error + func Serve[T Backend](p Plugin[T]) + func String(cfg map[string]any, key string) string + type Backend interface + List func(ctx context.Context, path string) ([]Object, error) + Read func(ctx context.Context, path string) (io.ReadCloser, error) + Stat func(ctx context.Context, path string) (Object, error) + type Closer interface + Close func() error + type Copier interface + Copy func(ctx context.Context, src, dst string) error + type Deleter interface + Delete func(ctx context.Context, path string) error + type Event struct + From string + Op string + Path string + type Field struct + Advanced bool + Default any + Help string + HelpI18nKey string + I18nKey string + Key string + Label string + Max *int + Min *int + Monospace bool + Multiline bool + Options []SelectOption + Placeholder string + Required bool + Root bool + Secret bool + Type FieldType + type FieldType string + const FieldBool + const FieldInt + const FieldPassword + const FieldSelect + const FieldString + type Mkdirer interface + Mkdir func(ctx context.Context, path string) error + type Mover interface + Move func(ctx context.Context, src, dst string) error + type Multipart interface + AbortMultipart func(ctx context.Context, path, uploadID string) error + CompleteMultipart func(ctx context.Context, path, uploadID string, parts []Part) error + InitMultipart func(ctx context.Context, path string, totalSize int64, partCount int) (uploadID string, partURLs []string, err error) + UploadPart func(ctx context.Context, path, uploadID string, partNumber int, r io.Reader, ...) (etag string, err error) + type Object struct + Etag string + Kind string + Metadata map[string]string + Mime string + Mtime time.Time + Name string + Path string + Size int64 + type Part struct + Etag string + PartNumber int + type Plugin struct + Fields []Field + Label string + Name string + Open func(ctx context.Context, config map[string]any) (T, error) + SelfTest func(ctx context.Context) (T, error) + Version string + type Presigned struct + ExpiresAt time.Time + Headers map[string]string + Method string + URL string + type Presigner interface + PresignDownload func(ctx context.Context, path string, ttl time.Duration) (Presigned, error) + PresignUpload func(ctx context.Context, path string, size int64) (Presigned, error) + type RangeReader interface + ReadRange func(ctx context.Context, path string, off, length int64) (io.ReadCloser, error) + type SelectOption struct + I18nKey string + Label string + Value string + type Toucher interface + SetMtime func(ctx context.Context, path string, mtime time.Time) error + type Watcher interface + Watch func(ctx context.Context) (<-chan Event, error) + type Writer interface + Write func(ctx context.Context, path string, r io.Reader, size int64) error