JSON body parsing middleware for the Iron web framework.
extern crate iron;
extern crate bodyparser;
use iron::{Iron, Server, Chain, Request, Response, Alloy};
use bodyparser::{BodyParser, Parsed};
fn log_json(_: &mut Request, _: &mut Response, alloy: &mut Alloy) {
let json = alloy.find::<Parsed>();
match json {
Some(&Parsed(ref parsed)) => println!("Parsed Json:\n {}", parsed),
None => ()
}
}
fn main() {
let mut server: Server = Iron::new();
server.chain.link(Bodyparser::new()); // Add middleware to the server's stack
server.chain.link(log_json);
server.listen(::std::io::net::ip::Ipv4Addr(127, 0, 0, 1), 3000);
}
body-parser is a part of Iron's core bundle.
- Perform JSON parsing using native functionality bundled in the standard library.
If you're using a Cargo.toml
to manage dependencies, just add body-parser to the toml:
[dependencies.bodyparser]
git = "https://github.com/iron/body-parser.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 (@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
.