1use flyer::{
2 hooks::Hook,
3 request::Request,
4 response::Response,
5 routing::next::Next,
6 server
7};
8
9pub struct CustomHook { }
10
11impl CustomHook {
12 pub fn new() -> Self {
13 Self { }
14 }
15}
16
17impl Hook for CustomHook {
18 async fn before(&self, req: Request, res: Response, next: Next) -> Response {
19 println!("BEFORE HOOK");
21 next.handle(req, res)
22 }
23
24 async fn after(&self, req: Request, res: Response, next: Next) -> Response {
25 println!("AFTER HOOK");
27 next.handle(req, res)
28 }
29}
30
31pub fn main() {
32 let server = server("127.0.0.1", 9999);
33
34 server.router().get("/", async |_req, res| {
35 println!("CONTROLLER");
36 res.html("<h1>Hello controller</h1>")
37 });
38
39 server.hook(CustomHook::new());
40
41 println!("\r\n\r\nRunning Server: {}\r\n\r\n", server.address());
42
43 server.listen();
44}