Struct thruster::MiddlewareChain [−][src]
pub struct MiddlewareChain<'a, T: 'a + Context> { pub middleware: &'a SmallVec<[Middleware<T>; 8]>, pub not_found: &'a SmallVec<[Middleware<T>; 8]>, // some fields omitted }
The MiddlewareChain
represents a chain of futures that is every piece of middleware
following the current one. If you wish to not continue down the chain, simply do not call
chain.next
, otherwise, you can call it and wait for the return value of the future and
proceed with work accordingly.
Fields
middleware: &'a SmallVec<[Middleware<T>; 8]>
not_found: &'a SmallVec<[Middleware<T>; 8]>
Methods
impl<'a, T: 'static + Context + Send> MiddlewareChain<'a, T>
[src]
impl<'a, T: 'static + Context + Send> MiddlewareChain<'a, T>
pub fn new(
middleware: &'a SmallVec<[Middleware<T>; 8]>,
not_found: &'a SmallVec<[Middleware<T>; 8]>
) -> MiddlewareChain<'a, T>
[src]
pub fn new(
middleware: &'a SmallVec<[Middleware<T>; 8]>,
not_found: &'a SmallVec<[Middleware<T>; 8]>
) -> MiddlewareChain<'a, T>
Create a new MiddlewareChain
with a vector of middleware to be executed.
pub fn next(&self, context: T) -> MiddlewareReturnValue<T>
[src]
pub fn next(&self, context: T) -> MiddlewareReturnValue<T>
Auto Trait Implementations
impl<'a, T> Send for MiddlewareChain<'a, T>
impl<'a, T> Send for MiddlewareChain<'a, T>
impl<'a, T> !Sync for MiddlewareChain<'a, T>
impl<'a, T> !Sync for MiddlewareChain<'a, T>