iron 0.0.14

Middleware-Oriented, Concurrency Focused Web Development in Rust. failed to build iron-0.0.14
Please check the build logs and, if you believe this is' fault, open an issue.
Visit the last successful build: iron-0.6.1

Iron Build Status

Middleware-Oriented, Concurrency Focused Web Development in Rust.

Response Timer Example

struct ResponseTime;

impl Assoc<u64> for ResponseTime {}

impl BeforeMiddleware for ResponseTime {
    fn before(&self, req: &mut Request) -> IronResult<()> {
        req.extensions.insert::<ResponseTime, u64>(precise_time_ns());

impl AfterMiddleware for ResponseTime {
    fn after(&self, req: &mut Request, _: &mut Response) -> IronResult<()> {
        let delta = precise_time_ns() - *req.extensions.find::<ResponseTime, u64>().unwrap();
        println!("Request took: {} ms", (delta as f64) / 1000000.0);

Iron is a high level web framework built in and for Rust

Iron does not come bundled with any middleware - instead, Iron is a robust and efficient framework for plugging in middleware.

Iron focuses on providing a clean API for creating middleware and integrating them in Iron servers.

Iron averages 84,000+ requests per second for hello world.


Iron aims to fill a void in the Rust web stack - a high level framework that is extensible and makes organizing complex server code easy.

Middleware is painless to build, and the core bundle already includes:

This allows for insanely flexible and powerful setups and allows nearly all of Iron’s features to be swappable - you can even change the middleware resolution algorithm by swapping in your own Chain.


If you're using Cargo, just add Iron to your Cargo.toml:


git = ""

Otherwise, just clone this repo, 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.

More Examples

Check out the examples directory!

You can compile all of the examples with cargo test. The binaries will be placed in target/test/.

Get Help

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.