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