4 个稳定版本

1.0.3 2021 年 9 月 16 日
1.0.2 2020 年 12 月 25 日
1.0.0 2020 年 12 月 24 日

6#governor 中排名

Download history 8/week @ 2024-03-10 6/week @ 2024-03-17 2/week @ 2024-03-24 13/week @ 2024-03-31 29/week @ 2024-04-14 65/week @ 2024-04-21 21/week @ 2024-04-28 1/week @ 2024-05-05 16/week @ 2024-05-12 67/week @ 2024-05-19 79/week @ 2024-05-26 26/week @ 2024-06-02 55/week @ 2024-06-09 5/week @ 2024-06-16

每月下载 92

MIT 许可证

8KB
107 行代码(不含注释)

tide-governor

一个提供速率限制功能的 tide 中间件,由 governor 支持。

示例

use tide_governor::GovernorMiddleware;
use std::env;

#[async_std::main]
async fn main() -> tide::Result<()> {
    let mut app = tide::new();
    app.at("/")
        .with(GovernorMiddleware::per_minute(4)?)
        .get(|_| async move { todo!() });
    app.at("/foo/:bar")
        .with(GovernorMiddleware::per_hour(360)?)
        .put(|_| async move { todo!() });

    app.listen(format!("https://127.0.0.1:{}", env::var("PORT")?))
        .await?;
    Ok(())
}

lib.rs:

使用 governor 实现速率限制的 tide 中间件。

示例

use tide_governor::GovernorMiddleware;
use std::env;

#[async_std::main]
async fn main() -> tide::Result<()> {
    let mut app = tide::new();
    app.at("/")
        .with(GovernorMiddleware::per_minute(4)?)
        .get(|_| async move { todo!() });
    app.at("/foo/:bar")
        .with(GovernorMiddleware::per_hour(360)?)
        .put(|_| async move { todo!() });

    app.listen(format!("https://127.0.0.1:{}", env::var("PORT")?))
        .await?;
    Ok(())
}

依赖项

~12–25MB
~358K SLoC