forked from iron/router
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsimple.rs
29 lines (21 loc) · 837 Bytes
/
simple.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
extern crate iron;
extern crate router;
// To run, $ cargo run --example simple
// To use, go to http://localhost:3000/test and see output "test"
// Or, go to http://localhost:3000 to see a default "OK"
use iron::{Iron, Request, Response, IronResult, StatusCode};
use router::{Router};
fn main() {
let mut router = Router::new();
router.get("/", handler, "handler");
router.get("/:query", query_handler, "query_handler");
Iron::new(router).http("localhost:3000");
fn handler(_: &mut Request) -> IronResult<Response> {
Ok(Response::with((StatusCode::OK, "OK")))
}
fn query_handler(req: &mut Request) -> IronResult<Response> {
let ref query = req.extensions.get::<Router>()
.unwrap().find("query").unwrap_or("/");
Ok(Response::with((StatusCode::OK, *query)))
}
}