[][src]Crate tus_client

tus_client

A Rust native client library to interact with tus enabled endpoints.

reqwest implementation

tus_client requires a "handler" which implements the HttpHandler trait. To include a default implementation of this trait for reqwest, specify the reqwest feature when including tus_client as a dependency.

# Other parts of Cargo.toml omitted for brevity
[dependencies]
tus_client = {version = "x.x.x", features = ["reqwest"]}

Usage

use tus_client::Client;
use reqwest;

// Create an instance of the `tus_client::Client` struct.
// Assumes "reqwest" feature is enabled (see above)
let client = Client::new(reqwest::Client::new());

// You'll need an upload URL to be able to upload a files.
// This may be provided to you (through a separate API, for example),
// or you might need to create the file through the *tus* protocol.
// If an upload URL is provided for you, you can skip this step.

let upload_url = client
.create("https://my.tus.server/files/", "/path/to/file")
.expect("Failed to create file on server");

// Next, you can start uploading the file by calling `upload`.
// The file will be uploaded in 5 MiB chunks by default.
// To customize the chunk size, use `upload_with_chunk_size` instead of `upload`.

client
.upload(&upload_url, "/path/to/file")
.expect("Failed to upload file to server");

upload (and upload_with_chunk_size) will automatically resume the upload from where it left off, if the upload transfer is interrupted.

Modules

http

Contains the HttpHandler trait and related structs. This module is only relevant when implement HttpHandler manually.

Structs

Client

Used to interact with a tus endpoint.

ServerInfo

Describes the tus enabled server.

UploadInfo

Describes a file on the server.

Enums

Error

Enumerates the errors which can occur during operation

TusExtension

Enumerates the extensions to the tus protocol.