7 releases (4 breaking)
| 0.5.0 | Jan 9, 2026 |
|---|---|
| 0.4.1 | Apr 29, 2025 |
| 0.3.0 | Jan 9, 2025 |
| 0.2.0 | May 4, 2024 |
| 0.1.1 | Sep 28, 2023 |
#361 in HTTP client
4,766 downloads per month
Used in 2 crates
10KB
Middleware to rate-limit requests built on reqwest_middleware.
You're expected to provide your own RateLimiter implementation.
Example
reqwest-ratelimit
Rate-limit middleware implementation for
reqwest-middleware.
This crate is glue code for implementing custom ratelimiters. For a batteries included example please refer to reqwest-leaky-bucket.
Usage
use std::future::Future;
use reqwest_middleware::{ClientBuilder, ClientWithMiddleware};
struct RateLimiter;
impl reqwest_ratelimit::RateLimiter for RateLimiter {
async fn acquire_permit(&self) {
// noop
}
}
async fn run() {
let client = ClientBuilder::new(reqwest::Client::new())
.with(reqwest_ratelimit::all(RateLimiter))
.build();
client.get("https://crates.io").send().await.unwrap();
}
Dependencies
~3.5–10MB
~161K SLoC