Crate ml_downloader
source · [−]Expand description
ml-downloader
Simple blocking downloader, featuring:
- retries with custom delays
- custom interval between successful downloads for rate limiting
- hash check (optional)
- based on reqwest
Examples
Simple usage
Create Downloader
with default configuration and then download one file.
use ml_downloader::Downloader;
let mut downloader = Downloader::new()?;
let bytes = downloader.get("https://example.com/").send()?;
Custom configuration
Create Downloader
with
"foobar/1.0"
asUSER_AGENT
1.0 - 1.1
seconds interval between successful downloads- two retries after failed download
2.0 - 2.2
seconds delay after initial failure5.0 - 5.5
seconds delay after 2nd failure
use ml_downloader::Downloader;
let mut downloader = Downloader::builder()
.reqwest(|cb| cb.user_agent("foobar/1.0"))
.interval(1.0, 1.1)
.retry_delays(&[(2.0, 2.2), (5.0, 5.5)])
.build()?;
Structs
Simple blocking downloader.
A builder to create Downloader
with custom configuration.
A builder to configure download request.
Enums
Represents all possible errors that can occur in this library.