4 个稳定版本
1.0.3 | 2021 年 9 月 16 日 |
---|---|
1.0.2 | 2020 年 12 月 25 日 |
1.0.0 | 2020 年 12 月 24 日 |
6 在 #governor 中排名
每月下载 92 次
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