Mounting middleware for the Iron web framework.
```rust
fn sendhello(req: &mut Request) -> IronResult
fn intercept(req: &mut Request) -> IronResult
fn main() { let mut mount = Mount::new(); mount.mount("/blocked/", intercept).mount("/", send_hello);
Iron::new(mount).http("localhost:3000").unwrap();
} ```
Running the code above, the following HTTP requests would write the following line to the server process's stdout:
``` $ curl http://localhost:3000/ Running send_hello handler, URL path: [""]
$ curl http://localhost:3000/blocked/ Running intercept handler, URL path: [""]
$ curl http://localhost:3000/foo Running send_hello handler, URL path: ["foo"]
$ curl http://localhost:3000/blocked/foo Running intercept handler, URL path: ["foo"] ```
mount is a part of Iron's core bundle.
If you're using Cargo
to manage dependencies, just add mount to the toml:
```toml [dependencies.mount]
git = "https://github.com/iron/mount.git" ```
Otherwise, cargo build
, and the rlib will be in your target
directory.
Along with the online documentation,
you can build a local copy with cargo doc
.
One of us (@reem, @zzmp,
@theptrk, @mcreinhard)
is usually on #iron
on the mozilla irc. Come say hi and ask any questions you might have.
We are also usually on #rust
and #rust-webdev
.