1use flyer::{server, request::Request, response::Response};
2
3pub async fn index<'a>(_req: &'a mut Request, res: &'a mut Response) -> &'a mut Response {
4 return res.html("<h1>Users List</h1>");
5}
6
7pub async fn store<'a>(_req: &'a mut Request, res: &'a mut Response) -> &'a mut Response {
8 return res.redirect("users/1");
9}
10
11pub async fn view<'a>(req: &'a mut Request, res: &'a mut Response) -> &'a mut Response {
12 return res.html(format!("<h1>User {}</h1>", req.parameter("user")).as_str());
13}
14
15pub async fn update<'a>(req: &'a mut Request, res: &'a mut Response) -> &'a mut Response {
16 return res.redirect(format!("users/{}", req.parameter("user")).as_str());
17}
18
19pub async fn destroy<'a>(_req: &'a mut Request, res: &'a mut Response) -> &'a mut Response {
20 return res.redirect("users")
21}
22
23fn main() {
24 let server = server("127.0.0.1", 9999);
25
26 server.router().group("/", |router| {
27 router.group("users", |router| {
28 router.get("/", index);
29 router.post("/", store);
30 router.group("{user}", |router| {
31 router.get("/", view);
32 router.patch("/", update);
33 router.delete("/", destroy);
34 });
35 });
36 });
37
38 print!("\r\n\r\nRunning server: {}\r\n\r\n", server.address());
39
40 server.listen();
41}