1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/// A macro for convenient construction of middleware vectors (`Middlewares`).
///
/// # Usage
///
/// The `middlewares!` macro simplifies the creation of middleware lists by allowing you to specify
/// route patterns and corresponding middleware closures in a concise and readable way.
///
/// Each element is a tuple in the form: `("/path", |req: HttpRequest, res| { ... })`.
///
/// # Example
///
/// ```rust
/// use ripress::{app::App, types::Middlewares, middlewares, req::HttpRequest};
/// let pre_middlewares: Middlewares = middlewares![
/// ("/", |req: HttpRequest, res, next| Box::pin(async move { return next.call(req, res).await; })),
/// ("/admin", |req: HttpRequest, res, next| Box::pin(async move { return next.call(req, res).await; })),
/// ];
/// ```
///
/// # Output
///
/// Expands into a `Vec<(&'static str, Box<dyn Fn(...) -> ...>)>` ready for
/// use with `App::use_pre_middlewares()` or `App::use_post_middlewares()`.
};
}
pub use ;