#![cfg_attr(docsrs, feature(doc_auto_cfg))]
#![forbid(unsafe_code)]
#![warn(missing_docs)]
#![warn(missing_debug_implementations)]
#![warn(unreachable_pub)]
mod client;
mod error;
mod helpers;
mod runtime;
mod transport;
#[cfg(feature = "checksum")]
pub use client::ChecksumMode;
#[cfg(all(feature = "source-file", not(target_arch = "wasm32")))]
pub use client::FileSource;
#[cfg(not(target_arch = "wasm32"))]
pub use client::ParallelUpload;
pub use client::{
Client, HeaderProvider, NewUpload, RetryHook, ServerCapabilities, Upload, UploadInfo,
UploadProgress, UploadSource,
};
pub use error::{BoxError, Error, Result};
pub use transport::{BoxTransport, Transport, TransportBody, TransportRequest, TransportResponse};
#[cfg(feature = "checksum")]
pub use tus_protocol::ChecksumAlgorithm;
pub use tus_protocol::{Extension, MetadataValue, UploadMetadata};
pub use {async_trait, http, tus_protocol, url};
#[cfg(feature = "transport-reqwest")]
pub use transport::ReqwestTransport;
#[cfg(feature = "transport-reqwest-middleware")]
pub use transport::ReqwestMiddlewareTransport;
#[cfg(feature = "transport-reqwest")]
pub use reqwest;
#[cfg(feature = "transport-reqwest-middleware")]
pub use reqwest_middleware;