| extern crate iron; |
| extern crate multipart; |
| |
| use iron::prelude::*; |
| |
| use multipart::server::Entries; |
| use multipart::server::iron::Intercept; |
| |
| fn main() { |
| // We start with a basic request handler chain. |
| let mut chain = Chain::new(|req: &mut Request| |
| if let Some(entries) = req.extensions.get::<Entries>() { |
| Ok(Response::with(format!("{:?}", entries))) |
| } else { |
| Ok(Response::with("Not a multipart request")) |
| } |
| ); |
| |
| // `Intercept` will read out the entries and place them as an extension in the request. |
| // It has various builder-style methods for changing how it will behave, but has sane settings |
| // by default. |
| chain.link_before(Intercept::default()); |
| |
| Iron::new(chain).http("localhost:80").unwrap(); |
| } |