1extern crate ferrum;
2extern crate ferrum_router;
3
4use ferrum::{Ferrum, FerrumResult, mime, Request, Response};
9use ferrum_router::{Router};
10
11fn handler(_: &mut Request) -> FerrumResult<Response> {
12 Ok(Response::new().with_content("OK", mime::TEXT_PLAIN))
13}
14
15fn query_handler(request: &mut Request) -> FerrumResult<Response> {
16 let params = request.extensions.get::<Router>().unwrap();
17 let query = params.get("query").map(|value| value.as_str()).unwrap_or("/");
18 Ok(Response::new().with_content(query, mime::TEXT_PLAIN))
19}
20
21fn main() {
22 let mut router = Router::new();
23 router.get("/", handler, None);
24 router.get("/{query}", query_handler, None);
25
26 Ferrum::new(router).http("localhost:3000").unwrap();
27}