router 0.6.0

A router for the Iron framework.
Router [![Build Status](]( [![ Status](](

> 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.

## Example

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);


    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)))

## Overview

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

## Installation

If you're using cargo, just add router to your `Cargo.toml`.


router = "*"

Otherwise, `cargo build`, and the rlib will be in your `target` directory.

## [Documentation]

Along with the [online documentation](,
you can build a local copy with `make doc`.

## [Examples]/examples

## Get Help

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`.