2个版本
使用旧的Rust 2015
0.1.1 | 2017年6月30日 |
---|---|
0.1.0 | 2017年6月30日 |
#40 in #iron
13KB
91 行
iron_middlefiddle
- 简化特定路由的中间件
在某些情况下,你可能只想在Router
中的特定路由使用一些中间件(例如,需要用户登录的路由)。在Iron中添加特定路由的中间件是一个重复且混乱的过程,这就是iron_middlefiddle
出现的原因。它提供了一种便利的宏,可以一次添加一个或多个BeforeMiddleware
或AfterMiddleware
到多个路由。
安装
如果你使用Cargo,只需将iron_middlefiddle
添加到你的Cargo.toml中
[dependencies]
iron-middlefiddle = "0.1.1"
示例用法
#[macro_use]
extern crate iron_middlefiddle;
extern crate iron;
extern crate mount;
extern crate router;
use iron_middlefiddle::Middleware;
use mount::Mount;
use router::Router;
mod controllers;
mod middleware;
fn main() {
let mut frontend_router = Router::new();
// Add some `frontend_router` routes and the middleware they should use:
middlefiddle! {
router => frontend_router,
routes => {
lorem: get "/lorem" => controllers::lorem::index,
ipsum: get "/ipsum" => controllers::ipsum::index,
dolor: get "/dolor" => controllers::dolor::index,
},
middleware => {
Middleware::BeforeMiddleware => middleware::auth::TokenValidity,
},
};
// Add some more `frontend_router` routes that aren't going to need the middleware:
frontend_router.get("/amet", controllers::amet::index, "amet");
// The usual…
let mut mount = Mount::new();
mount.mount("/", frontend_router)
Iron::new(mount).http("127.0.0.1:8888").unwrap();
}
文档
iron_middlefiddle
的文档可在docs.rs上找到。
许可证
iron_middlefiddle
采用MIT LICENSE
许可证。
如果你需要不同的许可证才能使用这个包,请与我联系。
关于
此包由Elliot Jackson编写。
- 博客: https://elliotekj.com
- 电子邮件: [email protected]
依赖关系
~4.5MB
~113K SLoC