Versions in this module Expand all Collapse all v0 v0.0.2 Mar 7, 2024 v0.0.1 Mar 7, 2024 Changes in this version + const ProtocolVersion + var ErrChuckSize = errors.New("chunk size must be greater than zero.") + var ErrFingerprintNotSet = errors.New("fingerprint not set.") + var ErrLargeUpload = errors.New("upload body is to large.") + var ErrNilLogger = errors.New("logger can't be nil.") + var ErrNilStore = errors.New("store can't be nil if Resume is enable.") + var ErrNilUpload = errors.New("upload can't be nil.") + var ErrOffsetMismatch = errors.New("upload offset mismatch.") + var ErrResumeNotEnabled = errors.New("resuming not enabled.") + var ErrUploadNotFound = errors.New("upload not found.") + var ErrVersionMismatch = errors.New("protocol version mismatch.") + type Client struct + Config *Config + Header http.Header + Url string + Version string + func NewClient(url string, config *Config) (*Client, error) + func (c *Client) CreateOrResumeUpload(u *Upload) (*Uploader, error) + func (c *Client) CreateUpload(u *Upload) (*Uploader, error) + func (c *Client) Do(req *http.Request) (*http.Response, error) + func (c *Client) ResumeUpload(u *Upload) (*Uploader, error) + type ClientError struct + Body []byte + Code int + func (c ClientError) Error() string + type Config struct + ChunkSize int64 + Header http.Header + HttpClient *http.Client + OverridePatchMethod bool + Resume bool + Store Store + func DefaultConfig() *Config + func (c *Config) Validate() error + type Metadata map[string]string + type Store interface + Close func() + Delete func(fingerprint string) + Get func(fingerprint string) (string, bool) + Set func(fingerprint, url string) + type Upload struct + Fingerprint string + Metadata Metadata + func NewUpload(reader io.Reader, size int64, metadata Metadata, fingerprint string) *Upload + func NewUploadFromBytes(b []byte) *Upload + func NewUploadFromFile(f *os.File) (*Upload, error) + func (u *Upload) EncodedMetadata() string + func (u *Upload) Finished() bool + func (u *Upload) Offset() int64 + func (u *Upload) Progress() int64 + func (u *Upload) Size() int64 + type Uploader struct + func NewUploader(client *Client, url string, upload *Upload, offset int64) *Uploader + func (u *Uploader) Abort() + func (u *Uploader) Header() http.Header + func (u *Uploader) IsAborted() bool + func (u *Uploader) NotifyUploadProgress(c chan Upload) + func (u *Uploader) Offset() int64 + func (u *Uploader) Upload() error + func (u *Uploader) UploadChunck() error + func (u *Uploader) Url() string