Wrapper around reqwest to allow for easy partial retries
- Customizable retry policy
- Customizable retry strategy
- Customizable stream timeout
- Retries use the Range Header if possible
use futures_util::StreamExt;
use reqwest_partial_retry::ClientExt;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = reqwest::Client::new().resumable();
let request = client.get("http://httpbin.org/ip").build().unwrap();
let mut stream = client
.execute_resumable(request)
.await?
.bytes_stream_resumable();
while let Some(item) = stream.next().await {
println!("Bytes: {:?}", item?);
}
Ok(())
}