9 releases (5 breaking)
Uses old Rust 2015
0.6.0 | Nov 22, 2017 |
---|---|
0.5.0 | Jan 11, 2017 |
0.4.1 | Aug 23, 2016 |
0.4.0 | Jul 23, 2016 |
0.1.2 | Mar 23, 2015 |
#894 in HTTP server
2,544 downloads per month
Used in 31 crates
(20 directly)
9KB
92 lines
urlencoded
URL Encoded middleware for the Iron web framework. Decode URL Encoded data from GET request queries and POST request bodies.
Example
This example shows how to use urlencoded to parse GET request parameters.
extern crate iron;
extern crate urlencoded;
use iron::prelude::*;
use iron::status;
use urlencoded::UrlEncodedQuery;
fn log_params(req: &mut Request) -> IronResult<Response> {
// Extract the decoded data as hashmap, using the UrlEncodedQuery plugin.
match req.get_ref::<UrlEncodedQuery>() {
Ok(ref hashmap) => println!("Parsed GET request query string:\n {:?}", hashmap),
Err(ref e) => println!("{:?}", e)
};
Ok(Response::with((status::Ok, "Hello!")))
}
// Test out the server with `curl -i "http://localhost:3000/?name=franklin&name=trevor"`
fn main() {
Iron::new(log_params).http("127.0.0.1:3000").unwrap();
}
Overview
urlencoded is a part of Iron's core bundle.
- Parses a URL query string into a
HashMap
s that mapsString
representations of keys onto aVec
ofString
values. - Values are stored in a
Vec
to ensure that no information is lost if a key appears multiple times. The query stringa=b&a=c
will result in a mapping froma
to[b, c]
. - Parses POST request bodies for web form data (MIME type:
application/x-www-form-urlencoded
).
Installation
If you're using Cargo
to manage dependencies, just add urlencoded to Cargo.toml
:
[dependencies.urlencoded]
version = "*"
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 cargo 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
.
Dependencies
~5.5MB
~134K SLoC