reqwest-rate-limit 0.1.3

Rate-limit aware request helpers and optional wrapper ergonomics for reqwest.
Documentation

reqwest-rate-limit

Rate-limit helpers and optional wrapper ergonomics for reqwest.

Highlights

  • Small helpers to rate-limit any reqwest::RequestBuilder
  • Optional wrapper Client with middleware hooks
  • ClientBuilder::configure exposes all reqwest::ClientBuilder options

Example

use governor::Quota;
use std::num::NonZeroU32;
use std::sync::Arc;

let rate_limiter = Arc::new(governor::RateLimiter::direct(Quota::per_hour(
    NonZeroU32::new(5_000).unwrap(),
)));

let client = reqwest_rate_limit::Client::builder()
    .user_agent("reqwest-rate-limit-readme")
    .configure(|b| b.timeout(std::time::Duration::from_secs(10)))
    .build()
    .unwrap();

let _request = client
    .get("https://api.example.com/health")
    .with_rate_limiter(rate_limiter)
    .send();

Examples