14个版本

使用旧的Rust 2015

0.4.0 2017年11月7日
0.3.0 2017年1月11日
0.2.1 2016年7月29日
0.1.0 2016年3月25日
0.0.3 2014年12月17日

#700 in HTTP服务器

Download history 732/week @ 2024-04-08 1056/week @ 2024-04-15 1157/week @ 2024-04-22 880/week @ 2024-04-29 755/week @ 2024-05-06 806/week @ 2024-05-13 1018/week @ 2024-05-20 926/week @ 2024-05-27 876/week @ 2024-06-03 642/week @ 2024-06-10 986/week @ 2024-06-17 910/week @ 2024-06-24 286/week @ 2024-07-01 500/week @ 2024-07-08 879/week @ 2024-07-15 601/week @ 2024-07-22

2,356 monthly downloads
用于 35 个crates (29 直接)

MIT 许可证

9KB
87

mount 构建状态

Iron Web框架挂载中间件。

示例

fn send_hello(req: &mut Request) -> IronResult<Response> {
    println!("Running send_hello handler, URL path: {:?}", req.url.path());
    Ok(Response::with((status::Ok, "Hello!")))
}

fn intercept(req: &mut Request) -> IronResult<Response> {
    println!("Running intercept handler, URL path: {:?}", req.url.path());
    Ok(Response::with((status::Ok, "Blocked!")))
}

fn main() {
    let mut mount = Mount::new();
    mount.mount("/blocked/", intercept).mount("/", send_hello);

    Iron::new(mount).http("localhost:3000").unwrap();
}

运行上面的代码,以下HTTP请求将以下行写入服务器进程的stdout

$ curl https://127.0.0.1:3000/
Running send_hello handler, URL path: [""]

$ curl https://127.0.0.1:3000/blocked/
Running intercept handler, URL path: [""]

$ curl https://127.0.0.1:3000/foo
Running send_hello handler, URL path: ["foo"]

$ curl https://127.0.0.1:3000/blocked/foo
Running intercept handler, URL path: ["foo"]

概述

mount是Iron的核心套件的一部分。

  • 在子路径上挂载处理器,隐藏旧路径。

安装

如果您使用Cargo来管理依赖项,只需将mount添加到toml中

[dependencies.mount]

git = "https://github.com/iron/mount.git"

否则,cargo build,rlib将在您的target目录中。

文档

除了在线文档外,您还可以使用cargo doc构建本地副本。

示例

获取帮助

我们中的一员(@reem@zzmp@theptrk@mcreinhard)通常在mozilla irc上的#iron上。过来打个招呼,问您可能有的任何问题。我们通常也在#rust#rust-webdev上。

依赖项

~4.5MB
~114K SLoC