go-tus

A pure Go client for the tus resumable upload protocol

Github stars Tracking Chart

go-tus Build Status Go Report Card GoDoc

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()

    // 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., Name, Backend, Dependencies, :----:, :-------:, :------------:, MemoryStore, In-Memory, None, LeveldbStore, LevelDB, goleveldb, ## Future Work

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

Main metrics

Overview
Name With Ownereventials/go-tus
Primary LanguageGo
Program languageGo (Language Count: 2)
Platform
License:MIT License
所有者活动
Created At2016-12-09 18:38:36
Pushed At2023-07-25 15:20:15
Last Commit At2022-06-10 09:02:17
Release Count0
用户参与
Stargazers Count175
Watchers Count20
Fork Count67
Commits Count54
Has Issues Enabled
Issues Count16
Issue Open Count10
Pull Requests Count23
Pull Requests Open Count6
Pull Requests Close Count11
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private