28次发布
使用旧的Rust 2015
0.6.0 | 2017年11月7日 |
---|---|
0.5.1 | 2017年1月23日 |
0.4.0 | 2016年9月4日 |
0.2.0 | 2016年7月26日 |
0.0.4 | 2014年12月28日 |
#571 在 HTTP服务器
5,898 每月下载
在 不到 58 crates 中使用
22KB
356 代码行
Router
Iron Web框架的路由处理程序。
Router是Iron的一个快速、方便且灵活的路由中间件。它允许复杂的glob模式、命名URL参数,并允许处理程序是任何Handler,包括所有Chains。
示例
extern crate iron;
extern crate router;
use iron::prelude::*;
use iron::status;
use router::Router;
fn main() {
let mut router = Router::new(); // Alternative syntax:
router.get("/", handler, "index"); // let router = router!(index: get "/" => handler,
router.get("/:query", handler, "query"); // query: get "/:query" => handler);
Iron::new(router).http("localhost:3000").unwrap();
fn handler(req: &mut Request) -> IronResult<Response> {
let ref query = req.extensions.get::<Router>().unwrap().find("query").unwrap_or("/");
Ok(Response::with((status::Ok, *query)))
}
}
概述
Router是Iron的核心包的一部分。
- 根据其路径路由客户端请求
- 解析参数并将其提供给其他中间件/处理程序
安装
如果您使用cargo,只需将router添加到您的Cargo.toml
。
[dependencies]
router = "*"
否则,cargo build
,rlib将位于您的target
目录中。
文档
除了在线文档外,您还可以使用make doc
构建本地副本。
示例
获取帮助
我们通常在mozilla irc的#iron
上。过来打个招呼,并询问您可能有的任何问题。我们通常也在#rust
和#rust-webdev
上。
依赖关系
~5MB
~124K SLoC