bodyparser 0.0.1

Body parsing middleware for Iron.
docs.rs failed to build bodyparser-0.0.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: bodyparser-0.8.0

body-parser Build Status

JSON body parsing middleware for the Iron web framework.

Example

extern crate iron;
extern crate bodyparser;
extern crate serialize;

use std::io::net::ip::Ipv4Addr;

use iron::{Iron, Request, Response, IronResult, Plugin, status};
use bodyparser::BodyParser;

#[deriving(Clone)]
#[deriving(Decodable)]
#[deriving(Show)]
struct MyStructure {
    A: String,
    B: Option<String>,
}

fn log_json(req: &mut Request) -> IronResult<Response> {
    match req.get::<BodyParser<MyStructure>>() {
        Some(parsed) => println!("Parsed Json:\n{}", parsed),
        None => println!("could not parse"),
    }
    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);
}

Overview

body-parser is a part of Iron's core bundle.

  • Perform JSON parsing using native functionality bundled in the standard library.

Installation

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.

Documentation

Along with the online documentation, you can build a local copy with make doc.

Examples

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.