use flyer::{
request::Request,
response::Response,
server,
};
pub async fn home_view(req: Request, res: Response) -> Response {
let user_id = req.session("user_id");
if user_id == "" {
return res.html("<h1>Not logged in</h1>");
}
return res.html(format!("<h1>Welcome user {}</h1>", user_id).as_str());
}
pub async fn login(_req: Request, res: Response) -> Response {
return res
.set_session("user_id", "1")
.back();
}
pub async fn logout(_req: Request, res: Response) -> Response {
return res
.remove_session("user_id")
.back();
}
fn main() {
let server = server("127.0.0.1", 9999);
server.router().group("/", |router| {
router.get("/", home_view);
router.get("login", login);
router.get("logout", logout);
});
print!("\r\n\r\nRunning server: {}\r\n\r\n", server.address());
server.listen();
}