JSON body parsing middleware for the Iron web framework.
extern crate iron;
extern crate bodyparser;
use std::io::net::ip::Ipv4Addr;
use iron::{Iron, Request, Response, IronResult, Plugin, status};
use bodyparser::BodyParser;
fn log_json(req: &mut Request) -> IronResult<Response> {
req.get::<BodyParser>().map(|parsed| println!("Parsed Json:\n{}", parsed));
Ok(Response::with(status::Ok, ""))
}
// With fn main, you now have a running server at port 3000!
// `curl -i "127.0.0.1:3000/" -H "application/json" -d '{"A":"1","B":"2"}'`
// and check out the printed json in your terminal.
fn main() {
Iron::new(log_json).listen(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
.