4 releases

Uses old Rust 2015

0.0.4 Mar 25, 2015
0.0.3 Mar 12, 2015
0.0.2 Feb 17, 2015
0.0.1 Dec 8, 2014

#14 in #iron-web

28 downloads per month

MIT license

148 lines

static Build Status

Static file-serving handler for the Iron web framework.


This example uses the mounting handler to serve files from several directories.

let mut mount = Mount::new();

// Serve the shared JS/CSS at /
mount.mount("/", Static::new(Path::new("target/doc/")));
// Serve the static file docs at /doc/
mount.mount("/doc/", Static::new(Path::new("target/doc/static/")));
// Serve the source code at /src/
mount.mount("/src/", Static::new(Path::new("target/doc/src/static/lib.rs.html")));

Iron::new(mount).listen(Ipv4Addr(127, 0, 0, 1), 3000).unwrap();

Note that static is a reserved keyword, so the crate will need to be imported as extern crate "static" as static_file;.

See examples/doc_server.rs for a complete example that you can compile.


static is a part of Iron's core bundle.

  • Serve static files from a given path.

It works well in combination with the mounting handler.


If you're using a Cargo.toml to manage dependencies, just add the static package to the toml:


git = "https://github.com/iron/static.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.

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.


~116K SLoC