[][src]Crate manic

Fast and simple async downloads

Provides easy to use functions to download a file using multiple async 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 using indicatif
  • rustls-tls: Use rustls for Https connections, enabled by default
  • native-tls: Use native tls for Https connections

Crate usage

Example

use manic::Downloader;
#[tokio::main]
async fn main() -> Result<(), manic::Error> {
    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(())
}

Structs

Client

An asynchronous Client to make Requests with.

Downloader
ProgressStyle

Controls the rendering style of progress bars.

Url

A parsed URL record.

Enums

Error

Error definition for possible errors in this crate

Hash

Available checksum types

Type Definitions

Result