Versions in this module Expand all Collapse all v0 v0.1.4 Aug 9, 2026 Changes in this version + const MaxParts + const PartSize + func ParseETag(raw string) (string, error) + type APIPresigner struct + BaseURL string + Config config.Config + HTTP *http.Client + func NewAPIPresigner(cfg config.Config) *APIPresigner + func (a *APIPresigner) Presign(ctx context.Context, fileID, uploadID string, partNumbers []int) ([]PresignedURL, error) + type Lifecycle struct + Abort func(ctx context.Context, fileID, uploadID string) error + Complete func(ctx context.Context, fileID, uploadID string, parts []Part) error + Init func(ctx context.Context, fileID string) (string, error) + type Part struct + ETag string + PartNumber int + type PartPlan struct + Number int + Offset int64 + Size int64 + func PlanParts(size, partSize int64) ([]PartPlan, error) + type PresignRequest struct + PartNumbers []int + UploadID string + type PresignResponse struct + URLs []PresignedURL + UploadID string + type PresignedURL struct + ExpiresAt string + PartNumber int + URL string + type Presigner interface + Presign func(ctx context.Context, fileID, uploadID string, partNumbers []int) ([]PresignedURL, error) + type StatusError struct + Body string + Code int + func (e *StatusError) Error() string + func (e *StatusError) Expired() bool + func (e *StatusError) Retryable() bool + type Uploader struct + Clock func() time.Time + HTTP *http.Client + MaxAttempts int + MaxRefreshes int + PartSize int64 + PresignBatch int + Presigner Presigner + Progress io.Writer + RetryDelay time.Duration + func (u *Uploader) Run(ctx context.Context, lc Lifecycle, fileID string, src io.ReaderAt, size int64) (err error) + func (u *Uploader) UploadSinglePart(ctx context.Context, fileID, uploadID string, partNumber int, src io.ReaderAt, ...) (Part, error)