reessaie

Crates.ioreessaie
lib.rsreessaie
version3.0.0
created_at2025-10-10 05:10:46.446097+00
updated_at2025-11-29 03:48:00.437571+00
descriptionCompanion to reqwest_retry to use the Retry-After HTTP header if available
homepagehttps://github.com/clechasseur/reessaie#readme
repositoryhttps://github.com/clechasseur/reessaie
max_upload_size
id1876531
size90,393
Charles Lechasseur (clechasseur)

documentation

https://docs.rs/reessaie/

README

reessaie

CI codecov Security audit crates.io downloads docs.rs Contributor Covenant

Companion library to reqwest-retry with helpers to use the Retry-After HTTP header to control the time between retries, if it's available.

Partially inspired by reqwest-retry-after.

Installing

Add reessaie to your dependencies:

[dependencies]
reessaie = "3.0.0"

or by running:

cargo add reesaie

Example

use anyhow::Context;
use reessaie::{RetryAfterMiddleware, RetryAfterPolicy};
use reqwest::Client;
use reqwest_middleware::ClientBuilder;

async fn get_with_retries(url: &str, max_retries: u32) -> Result<String, anyhow::Error> {
    let policy = RetryAfterPolicy::with_max_retries(max_retries);
    let client = ClientBuilder::new(Client::new())
        .with(RetryAfterMiddleware::new_with_policy(policy))
        .build();

    Ok(client
        .get(url)
        .send()
        .await
        .with_context(|| format!("error getting {url}"))?
        .text()
        .await
        .with_context(|| format!("error getting text for {url}"))?)
}

For more information, see the docs.

Minimum Rust version

reessaie currently builds on Rust 1.88 or newer.

Commit count: 0

cargo fmt