3 个不稳定版本
0.2.0 | 2024 年 5 月 4 日 |
---|---|
0.1.1 | 2023 年 9 月 28 日 |
0.1.0 | 2023 年 9 月 28 日 |
#352 in HTTP 客户端
370 次每月下载
用于 reqwest-leaky-bucket
5KB
reqwest-ratelimit
reqwest-middleware 的速率限制中间件实现。
使用方法
use async_trait::async_trait;
use reqwest_middleware::{ClientBuilder, ClientWithMiddleware};
struct RateLimiter;
#[async_trait]
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();
}
lib.rs
:
基于 reqwest_middleware
构建的速率限制中间件。
您需要提供自己的 RateLimiter
实现。
示例
use async_trait::async_trait;
use reqwest_middleware::{ClientBuilder, ClientWithMiddleware};
struct RateLimiter;
#[async_trait]
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();
}
依赖项
~3–14MB
~198K SLoC