1use std::time::Duration;
2
3use flyer::{
4 request::Request,
5 response::Response,
6 server,
7};
8
9pub async fn home_view<'a>(req: &'a mut Request, res: &'a mut Response) -> &'a mut Response {
10 req.cookies()
11 .set("user_id", "1")
12 .set_expires(Duration::from_secs((60 * 60) * 2));
13
14 return res.html("<h1>Cookie has been set visit route /cookie</h1>");
15}
16
17pub async fn cookie<'a>(req: &'a mut Request, res: &'a mut Response) -> &'a mut Response {
18 return res.html(format!("<h1>User ID cookie is {}</h1>", req.cookies().get("user_id")).as_str());
19}
20
21pub async fn remove_cookie<'a>(req: &'a mut Request, res: &'a mut Response) -> &'a mut Response {
22 let _ = req.cookies().remove("user_id");
23 return res.redirect("/");
24}
25
26fn main() {
27 let server = server("127.0.0.1", 9999);
28
29 server.router().group("/", |router| {
30 router.get("/", home_view);
31 router.get("cookie", cookie);
32 router.delete("cookie/remove", remove_cookie);
33 });
34
35 print!("\r\n\r\nRunning server: {}\r\n\r\n", server.address());
36
37 server.listen();
38}