middlewares

Macro middlewares 

Source
macro_rules! middlewares {
    ( $( ($path:expr, $handler:expr) ),* $(,)? ) => { ... };
}
Expand description

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

use ripress::{app::App, types::Middlewares, middlewares, req::HttpRequest};

let pre_middlewares: Middlewares = middlewares![
    ("/", |req: HttpRequest, _res| Box::pin(async move { (req, None) })),
    ("/admin", |req: HttpRequest, _res| Box::pin(async move { (req, None) })),
];

§Output

Expands into a Vec<(&'static str, Box<dyn Fn(...) -> ...>)> ready for use with App::use_pre_middlewares() or App::use_post_middlewares().