A retry middleware for surf
With cargo add installed :
cargo add surf-retry
use surf_retry::RetryMiddleware;
use surf::{Client, Request, http::Method};
use url::Url;
use std::time::Duration;
#[async_std::main]
async fn main() -> surf::Result<()> {
let req = Request::new(Method::Get, Url::parse("https://example.api")?);
let client = Client::new().with(RetryMiddleware::default());
let res = client.send(req).await?;
Ok(())
}