rust_express/utils/middleware.rs
1use crate::utils::request::Request;
2use futures::future::BoxFuture;
3use std::collections::HashMap;
4
5pub type MiddlewareData = HashMap<String, String>;
6
7type Middleware = Box<dyn Fn(&Request, &mut MiddlewareData) -> () + Send + Sync>;
8type AsyncMiddleware = Box<
9 dyn for<'a> Fn(&'a Request, &'a mut MiddlewareData) -> BoxFuture<'a, ()> + Send + Sync,
10>;
11
12pub enum EitherMiddleware {
13 Sync(Middleware),
14 Async(AsyncMiddleware),
15}