Routing handler for the Iron web framework.
Router is a fast, convenient, and flexible routing middleware for Iron. It allows complex glob patterns and named url parameters and also allows handlers to be any Handler, including all Chains.
fn main() {
let mut router = Router::new();
router.get("/", handler);
router.get("/:query", handler);
Iron::new(router).listen(Ipv4Addr(127, 0, 0, 1), 3000);
fn handler(req: &mut Request) -> IronResult<Response> {
let ref query = req.extensions.find::<Router, Params>().unwrap().find("query").unwrap_or("/");
Ok(Response::with(status::Ok, *query))
}
}
Router is a part of Iron's core bundle.
- Route client requests based on their paths
- Parse parameters and provide them to other middleware/handlers
If you're using cargo, just add router to your Cargo.toml
.
[dependencies.router]
git = "https://github.com/iron/router.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 make doc
.
One of us 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
.