pillow_http/
middlewares.rs1use crate::{request::Request, response::Response};
2
3pub type MiddlewareType = Box<dyn Fn(&Request, &Response)>;
4
5pub struct Middleware {
6 pub cb: MiddlewareType,
7}
8
9impl Middleware {
10 pub fn new<F>(controller: F) -> Middleware
11 where
12 F: Fn(&Request, &Response) + 'static,
13 {
14 let box_cb = Box::new(controller);
15
16 Middleware { cb: box_cb }
17 }
18}
19
20impl Middleware {
21 pub fn use_middleware(&self, request: &Request, response: &Response) {
22 let fun = &self.cb;
23
24 fun(request, response);
25 }
26}