Crate manic[−][src]
Expand description
Fast and simple async_client downloads
Provides easy to use functions to download a file using multiple async_client connections while taking care to preserve integrity of the file and check it against a SHA256 sum
This crate is a work in progress
The crate exposes debug logs through the tracing
crate
Feature flags
progress
: Enables progress reporting usingindicatif
json
: Enables use of JSON features on the reqwestClient
async
: Enables the async downloader, on by defaultthreaded
: Enables the native thread based downloaderrustls
: Use rustls for HTTPS, on by defaultopenssl
: Use openssl for HTTPS
Crate usage
Async example
use manic::Downloader;
#[tokio::main]
async fn main() -> Result<(), manic::ManicError> {
let number_of_concurrent_tasks: u8 = 5;
let client = Downloader::new("https://crates.io", number_of_concurrent_tasks).await?;
let result = client.download().await?;
Ok(())
}
Native threading example
use manic::threaded::Downloader;
let client = Downloader::new("https://crates.io", 5)?;
client.download()?;
Ok(())
Modules
Structs
An asynchronous Client
to make Requests with.
Controls the rendering style of progress bars
A parsed URL record.
Enums
Available checksum types
Error definition for possible errors in this crate