A plugin for the Iron web framework that parses parameters from incoming requests from the following sources:
Content-Type: application/json
)Content-Type: application/x-www-form-urlencoded
parametersContent-Type: multipart/form-data
)This plugin combines all request parameters from these sources into a single params::Map
accessible through any Iron request using req.get_ref::<params::Params>()
. Example:
```rust
fn handler(req: &mut Request) -> IronResult
let map: Map = try!(req.get_ref::<Params>());
match map.find(&["user", "name"]) {
// Assume, for example, the request URL here is:
// http://localhost:3000/handler?user[name]=Marie
Some(&Value::String(ref name)) => assert_eq!(name, "Marie"),
_ => panic!("Unexpected parameter type!"),
}
} ```
You can perform custom request parameter deserialization by implementing params::FromValue
for any Sized
type. See src/conversion.rs
for inspiration!
This crate is fully documented, and we're working on hosting it at ironframework.io.
See examples/params.rs
for an interactive example.
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.