Macro request

Source
macro_rules! request {
    (
        $session:expr, $method:literal, bson { $($body:tt)* } $(, $($tt:tt)*)?
    ) => { ... };
    (
        $session:expr, $method:literal, $req:expr $(, $($tt:tt)*)?
    ) => { ... };
    (
        @inner
        $session:expr, $method:literal, $req:expr $(, $($tt:tt)*)?
    ) => { ... };
    (
        @inner(data = $data:expr, status = $status:expr)
        $ty:ty
    ) => { ... };
    (
        @inner(data = $data:expr, status = $status:expr)
        {
            $($code:pat => $closure:expr),* $(,)?
        }
    ) => { ... };
    (
        @inner(data = $data:expr, status = $status:expr)
    ) => { ... };
}