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日

#571HTTP服务器

Download history 1810/week @ 2023-10-17 2138/week @ 2023-10-24 2183/week @ 2023-10-31 2374/week @ 2023-11-07 1477/week @ 2023-11-14 1799/week @ 2023-11-21 1518/week @ 2023-11-28 1219/week @ 2023-12-05 1716/week @ 2023-12-12 1514/week @ 2023-12-19 1325/week @ 2023-12-26 1105/week @ 2024-01-02 1792/week @ 2024-01-09 1562/week @ 2024-01-16 1308/week @ 2024-01-23 1034/week @ 2024-01-30

5,898 每月下载
不到 58 crates 中使用

MIT 许可证

22KB
356 代码行

Router 构建状态 Crates.io 状态

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