2个版本
0.1.1 | 2023年11月11日 |
---|---|
0.1.0 | 2023年11月6日 |
#435 在 HTTP客户端
26KB
462 行
reqwest-partial-retry
reqwest的包装器,允许轻松进行部分重试
特性
- 可定制重试策略
- 可定制重试策略
- 可定制流超时
- 如果可能,重试使用Range头
示例
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(())
}
感谢
lib.rs
:
reqwest的包装器,允许轻松进行部分重试
示例
use futures_util::StreamExt;
use reqwest_partial_retry::ClientExt;
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?);
}
依赖项
~8–21MB
~319K SLoC