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日

#530HTTP客户端

Download history 23/week @ 2024-03-11 15/week @ 2024-03-18 132/week @ 2024-03-25 38/week @ 2024-04-01 11/week @ 2024-04-08 34/week @ 2024-04-15 19/week @ 2024-04-22 6/week @ 2024-04-29 7/week @ 2024-05-06 16/week @ 2024-05-13 21/week @ 2024-05-20 27/week @ 2024-05-27 20/week @ 2024-06-03 111/week @ 2024-06-10 15/week @ 2024-06-17 12/week @ 2024-06-24

每月160次下载
用于 3 个Crates(直接使用2个)

MIT/Apache

12KB
117

surf-governor

surf的速率限制中间件

安装

安装cargo add

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