5个版本
0.2.0 | 2023年7月14日 |
---|---|
0.1.3 | 2023年2月18日 |
0.1.2 | 2022年11月17日 |
0.1.1 | 2022年6月17日 |
0.1.0 | 2022年5月22日 |
#530 在 HTTP客户端
每月160次下载
用于 3 个Crates(直接使用2个)
12KB
117 行
surf-governor
surf的速率限制中间件
安装
cargo add surf-governor
文档
示例
use surf_governor::GovernorMiddleware;
use surf::{Client, Request, http::Method};
use url::Url;
#[async_std::main]
async fn main() -> surf::Result<()> {
let req = Request::new(Method::Get, Url::parse("https://example.api")?);
let client = Client::new().with(GovernorMiddleware::per_second(1)?);
let res = client.send(req).await?;
Ok(())
}
lib.rs
:
一个使用governor实现速率限制的surf中间件。其中大部分代码来自tide-governor
示例
use surf_governor::GovernorMiddleware;
use surf::{Client, Request, http::Method};
use url::Url;
#[async_std::main]
async fn main() -> surf::Result<()> {
let req = Request::new(Method::Get, Url::parse("https://example.api")?);
// Construct Surf client with a governor
let client = Client::new().with(GovernorMiddleware::per_second(30)?);
let res = client.send(req).await?;
Ok(())
}
依赖
~9–18MB
~246K SLoC