Skip to content
This repository was archived by the owner on Jul 10, 2022. It is now read-only.

Repository files navigation

go-tus Build StatusGo Report CardGoDoc

A pure Go client for the tus resumable upload protocol

Example

package main
import (
"os""github.com/eventials/go-tus"
)
funcmain() {
f, err:=os.Open("my-file.txt")
iferr!=nil {
panic(err)
}
deferf.Close()
// create the tus client.client, _:=tus.NewClient("https://tus.example.org/files", nil)
// create an upload from a file.upload, _:=tus.NewUploadFromFile(f)
// create the uploader.uploader, _:=client.CreateUpload(upload)
// start the uploading process.uploader.Upload()
}

Features

This is not a full protocol client implementation.

Checksum, Termination and Concatenation extensions are not implemented yet.

This client allows to resume an upload if a Store is used.

Built in Store

Store is used to map an upload's fingerprint with the corresponding upload URL.

NameBackendDependencies
MemoryStoreIn-MemoryNone
LeveldbStoreLevelDBgoleveldb

Future Work

  • SQLite store
  • Redis store
  • Memcached store
  • Checksum extension
  • Termination extension
  • Concatenation extension

About

A pure Go client for the tus resumable upload protocol

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages