go-tus
A pure Go client for the tus resumable upload protocol
Example
package main
import (
"os"
"github.com/eventials/go-tus"
)
func main() {
f, err := os.Open("my-file.txt")
if err != nil {
panic(err)
}
defer f.Close()
client, _ := tus.NewClient("https://tus.example.org/files", nil)
upload, _ := tus.NewUploadFromFile(f)
uploader, _ := client.CreateUpload(upload)
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.
Name | Backend | Dependencies |
---|
MemoryStore | In-Memory | None |
LeveldbStore | LevelDB | goleveldb |
Future Work