rs_express/
common.rs

1use crate::{App, ErrorMiddleware, Middleware, Router};
2
3pub fn collect_middleware<'a, T>(app: &'a mut App<T>) -> Vec<Middleware<T>> {
4    app.routers.iter_mut().fold(
5        vec![],
6        |mut acc: Vec<Middleware<T>>, router: &mut Router<T>| {
7            acc.append(&mut router.middleware);
8
9            acc
10        },
11    )
12}
13
14pub fn collect_error_middleware<'a, T>(app: &'a mut App<T>) -> Vec<ErrorMiddleware<T>> {
15    app.routers.iter_mut().fold(
16        vec![],
17        |mut acc: Vec<ErrorMiddleware<T>>, router: &mut Router<T>| {
18            acc.append(&mut router.error_middleware);
19
20            acc
21        },
22    )
23}