3个版本
0.0.3 | 2024年3月2日 |
---|---|
0.0.2 | 2024年2月29日 |
0.0.1 | 2024年2月29日 |
#483 in 异步
每月89次下载
21KB
412 行
Tower Fallthrough Filter
是否曾想过过滤Tower服务,但又不希望在过滤器不匹配时终止请求?现在可以了!
安装
将以下内容添加到你的 Cargo.toml
[dependencies]
tower-fallthrough-filter = "*"
或者使用 cargo
命令添加
cargo add tower-fallthrough-filter
使用示例
use tower_fallthrough_filter::{Filter, FilterLayer};
#[derive(Clone)]
struct MyFilter;
impl<T> Filter<T> for MyFilter {
fn filter(&self, _: T) -> bool {
// This can be any logic you want
// and can depend on some state stored
// in the filter itself.
// When this function returns true, my_service
// will be called, otherwise the request will
// fall through to the next service.
some_buisness_logic()
}
}
let my_service = MyService::new();
let layer = FilterLayer::new(MyFilter, my_service);
// Now you can use the layer as a normal Tower Layer
查看示例文件夹以获取更多示例。
依赖关系
~1–1.4MB
~25K SLoC