Struct dyer::MiddleWareBuilder[][src]

pub struct MiddleWareBuilder<'md, E> { /* fields omitted */ }
Expand description

Serve as an medium to create an instance of MiddleWare

This type can be used to construct an instance or MiddleWare through a builder-like pattern.

Implementations

Create an instance of MiddleWare

Examples
let middleware = MiddlewareBuilder::new();
assert!(middleware.entity_ref().is_none());

Consume it and return an instance of MiddleWare

Examples
async fn handle_entity(_: &mut Vec<E>, _: &mut App<E>) {}
let middleware = MiddlewareBuilder::new();
    .entity(handle_entity)
    .build("marker".into());

set the extensions of MiddleWareBuilder

Examples
let middleware = middleware::builder()
    .extensions(1i32)
    .build("marker".into());
assert_eq!(middleware.extensions().get::<i32>(), 1);

get extensions of MiddleWareBuilder

Examples
let middleware = middleware::builder()
    .extensions(1i32)
    .build("marker".into());
assert_eq!(middleware.extensions_ref().get::<i32>(), 1);

set the rank of MiddleWareBuilder

Examples
let middleware = MiddleWareBuilder::new()
    .rank(1)
    .build("marker".into());
assert_eq!(middleware.rank_ref(), 1);

get rank of MiddleWareBuilder

Examples
let middleware = MiddleWareBuilder::new()
    .rank(1)
    .build("marker".into());
middleware.rank_mut() = 3;
assert_eq!(middleware.rank_ref(), 3);

Set the Task handler of MiddleWare, if not called, the default value is None

Examples
async fn handle_task(_: &mut Vec<Task>, _: &mut App<E>) {}
let middleware = MiddleWareBuilder::new()
    .task(&handle_task)
    .build("marker".into());
assert! (middleware.handle_task.is_some())

Get the shared reference of Task handler of MiddleWare, if not set before, None is returned

Examples
async fn handle_task(_: &mut Vec<Task>, _: &mut App<E>) {}
let middleware = MiddleWareBuilder::new()
    .task(&handle_task)
    .build("marker".into());
assert_eq! (middleware.task_ref (), Some(handle_task))

Set the Affix handler of MiddleWare, if not called, the default value is None

Examples
async fn handle_affix(_: &mut Vec<Affix>, _: &mut App<E>) {}
let middleware = MiddleWareBuilder::new()
    .affix(&handle_affix)
    .build("marker".into());
assert! (middleware.handle_affix.is_some())

Get the shared reference of Affix handler of MiddleWare, if not set before, None is returned

Examples
async fn handle_affix(_: &mut Vec<Affix>, _: &mut App<E>) {}
let middleware = MiddleWareBuilder::new()
    .affix(&handle_affix)
    .build("marker".into());
assert_eq! (middleware.affix_ref (), Some(handle_affix))

Set the E handler of MiddleWare, if not called, the default value is None

Examples
async fn handle_entity(_: &mut Vec<E>, _: &mut App<E>) {}
let middleware = MiddleWareBuilder::new()
    .entity(&handle_entity)
    .build("marker".into());
assert! (middleware.handle_entity.is_some())

Get the shared reference of E handler of MiddleWare, if not set before, None is returned

Examples
async fn handle_entity(_: &mut Vec<E>, _: &mut App<E>) {}
let middleware = MiddleWareBuilder::new()
    .entity(&handle_entity)
    .build("marker".into());
assert_eq! (middleware.entity_ref (), Some(handle_entity))

Set the Request handler of MiddleWare, if not called, the default value is None

Examples
async fn handle_req(_: &mut Vec<Request>, _: &mut App<E>) {}
let middleware = MiddleWareBuilder::new()
    .req(&handle_req)
    .build("marker".into());
assert! (middleware.handle_req.is_some())

Get the shared reference of Request handler of MiddleWare, if not set before, None is returned

Examples
async fn handle_req(_: &mut Vec<Request>, _: &mut App<E>) {}
let middleware = MiddleWareBuilder::new()
    .req(&handle_req)
    .build("marker".into());
assert_eq! (middleware.req_ref (), Some(handle_req))

Set the Response handler of MiddleWare, if not called, the default value is None

Examples
async fn handle_res(_: &mut Vec<Response>, _: &mut App<E>) {}
let middleware = MiddleWareBuilder::new()
    .res(&handle_res)
    .build("marker".into());
assert! (middleware.handle_res.is_some())

Get the shared reference of Response handler of MiddleWare, if not set before, None is returned

Examples
async fn handle_res(_: &mut Vec<Response>, _: &mut App<E>) {}
let middleware = MiddleWareBuilder::new()
    .res(&handle_res)
    .build("marker".into());
assert_eq! (middleware.res_ref (), Some(handle_res))

Set the Result<Response, MetaResponse> handler of MiddleWare, if not called, the default value is None

Examples
async fn handle_err(_: &mut Vec<Result<Response, MetaResponse>>, _: &mut App<E>) {}
let middleware = MiddleWareBuilder::new()
    .err(&handle_err)
    .build("marker".into());
assert! (middleware.handle_err.is_some())

Get the shared reference of Result<Response, MetaResponse> handler of MiddleWare, if not set before, None is returned

Examples
async fn handle_err(_: &mut Vec<Result<Response, MetaResponse>>, _: &mut App<E>) {}
let middleware = MiddleWareBuilder::new()
    .err(&handle_err)
    .build("marker".into());
assert_eq! (middleware.err_ref (), Some(handle_err))

Set the Result<Response, MetaResponse> handler of MiddleWare, if not called, the default value is None

Examples
async fn handle_yerr(_: &mut Vec<Result<Response, MetaResponse>>, _: &mut App<E>) {}
let middleware = MiddleWareBuilder::new()
    .yerr(&handle_yerr)
    .build("marker".into());
assert! (middleware.handle_yerr.is_some())

Get the shared reference of Result<Response, MetaResponse> handler of MiddleWare, if not set before, None is returned

Examples
async fn handle_yerr(_: &mut Vec<Result<Response, MetaResponse>>, _: &mut App<E>) {}
let middleware = MiddleWareBuilder::new()
    .yerr(&handle_yerr)
    .build("marker".into());
assert_eq! (middleware.yerr_ref (), Some(handle_yerr))

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more