wrap_request_context_handler

Macro wrap_request_context_handler 

Source
macro_rules! wrap_request_context_handler {
    ($ vis : vis struct $ name : ident ; impl RequestContextHandler { $ ($ (# [$ attrs_name : meta]) * fn $ method_name : ident (& $ self : ident $ (, $ arg_name : ident : $ arg_type : ty) * $ (,) ?) $ (-> $ return_type : ty) ? { $ ($ body : tt) * }) * }) => { ... };
    ($ vis : vis struct $ name : ident $ (< $ ($ generic_type : ident : $ first_generic_type_bound : tt $ (+ $ generic_type_bound : tt) *) , + $ (,) ? >) ? { $ ($ field_vis : vis $ field_name : ident : $ field_type : ty) , * $ (,) ? } impl RequestContextHandler { $ ($ (# [$ attrs_name : meta]) * fn $ method_name : ident (& $ self : ident $ (, $ arg_name : ident : $ arg_type : ty) * $ (,) ?) $ (-> $ return_type : ty) ? { $ ($ body : tt) * }) * }) => { ... };
}
Expand description

Implement the WrapRequestContextHandler trait for the specified struct. You can declare more members for your struct, and in the impl RequestContextHandler block you can override default methods implemented by the ImplRequestContextHandler trait.

ยงExample


wrap_request_context_handler! {
    struct MyRequestContextHandler {
        payload: String,
    }

    impl RequestContextHandler {
        // ...
    }
}

fn make_my_struct() -> RequestContextHandler {
    MyRequestContextHandler::new("payload".to_string())
}