Struct dyer::plugin::middleware::MiddleWare [−][src]
pub struct MiddleWare<'md, E> {
pub marker: String,
pub rank: i16,
pub extensions: Extensions,
// some fields omitted
}
Expand description
Represents a medium that handles the dataflow of App
In practise, it handles every data structure’s in-and-out during execution
according to the marker
and rank
Fields
marker: String
rank: i16
extensions: Extensions
Implementations
Create an instance of MiddleWareBuilder
that used to build a MiddleWare
Examples
async fn handle_task(&mut Vec<Task>, &mut App<E>) {}
let middleware = Middleware::builder()
.task(handle_task)
.build("marker".into());
get the rank of MiddleWare
Examples
async fn handle_task(&mut Vec<Task>, &mut App<E>) {}
let middleware = MiddleWare::builder()
.rank(1)
.build("marker".into());
assert_eq!(middleware.rank(), 0);
get mutable reference to rank of MiddleWare
Examples
async fn handle_task(&mut Vec<Task>, &mut App<E>) {}
let middleware = MiddleWare::builder()
.task(handle_task)
.build("marker".into());
middleware.rank_mut() = 3;
assert_eq!(middleware.rank(), 3);
mutate the extensions of MiddleWare
Examples
let mut middleware = Middleware::builder()
.extensions(1i32)
.build("marker".into());
middleware.extension_mut().insert(2i32);
get extensions of MiddleWare
Examples
let middleware = Middleware::builder()
.extensions(1i32)
.build("marker".into());
assert_eq!(middleware.extensions().get::<i32>(), 1);
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 = MiddleWare::builder()
.task_mut(&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 = MiddleWare::builder()
.task_mut(&handle_task)
.build("marker".into());
assert_eq! (middleware.task (), 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 = MiddleWare::builder()
.affix_mut(&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 = MiddleWare::builder()
.affix_mut(&handle_affix)
.build("marker".into());
assert_eq! (middleware.affix (), 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 = MiddleWare::builder()
.entity_mut(&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 = MiddleWare::builder()
.entity_mut(&handle_entity)
.build("marker".into());
assert_eq! (middleware.entity (), 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 = MiddleWare::builder()
.req_mut(&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 = MiddleWare::builder()
.req_mut(&handle_req)
.build("marker".into());
assert_eq! (middleware.req (), 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 = MiddleWare::builder()
.res_mut(&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 = MiddleWare::builder()
.res_mut(&handle_res)
.build("marker".into());
assert_eq! (middleware.res (), 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 = MiddleWare::builder()
.err_mut(&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 = MiddleWare::builder()
.err_mut(&handle_err)
.build("marker".into());
assert_eq! (middleware.err (), 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 = MiddleWare::builder()
.yerr_mut(&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 = MiddleWare::builder()
.yerr_mut(&handle_yerr)
.build("marker".into());
assert_eq! (middleware.yerr (), Some(handle_yerr))
Auto Trait Implementations
impl<'md, E> !RefUnwindSafe for MiddleWare<'md, E>
impl<'md, E> !Send for MiddleWare<'md, E>
impl<'md, E> !Sync for MiddleWare<'md, E>
impl<'md, E> Unpin for MiddleWare<'md, E>
impl<'md, E> !UnwindSafe for MiddleWare<'md, E>
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
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