Expand description
§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
HttpHandlertrait and related structs. This module is only relevant when implementHttpHandlermanually.
Structs§
- Client
- Used to interact with a tus endpoint.
- Create
Response - Server
Info - Describes the tus enabled server.
- Upload
Info - Describes a file on the server.
Enums§
- Error
- Enumerates the errors which can occur during operation
- TusExtension
- Enumerates the extensions to the tus protocol.