Struct gotham::middleware::state::StateMiddleware [−][src]
Middleware binding for generic types to enable easy shared state.
This acts as nothing more than a Middleware
instance which will
attach a generic type to a request State
, however it removes a
barrier for users to Gotham who might not know the internals.
The generic types inside this struct can (and will) be cloned often, so wrap your expensive types in reference counts as needed.
Implementations
impl<T> StateMiddleware<T> where
T: Clone + RefUnwindSafe + StateData + Sync,
[src]
T: Clone + RefUnwindSafe + StateData + Sync,
Main implementation.
Trait Implementations
impl<T: Clone> Clone for StateMiddleware<T> where
T: Clone + RefUnwindSafe + StateData + Sync,
[src]
T: Clone + RefUnwindSafe + StateData + Sync,
fn clone(&self) -> StateMiddleware<T>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<T> Middleware for StateMiddleware<T> where
T: Clone + RefUnwindSafe + StateData + Sync,
[src]
T: Clone + RefUnwindSafe + StateData + Sync,
Middleware
trait implementation.
fn call<Chain>(self, state: State, chain: Chain) -> Pin<Box<HandlerFuture>> where
Chain: FnOnce(State) -> Pin<Box<HandlerFuture>>,
[src]
Chain: FnOnce(State) -> Pin<Box<HandlerFuture>>,
Attaches the inner generic value to the request state.
This will enable the Handler
to borrow the value directly from the state.
impl<T> NewMiddleware for StateMiddleware<T> where
T: Clone + RefUnwindSafe + StateData + Sync,
[src]
T: Clone + RefUnwindSafe + StateData + Sync,
NewMiddleware
trait implementation.
type Instance = Self
The type of Middleware
created by the NewMiddleware
.
fn new_middleware(&self) -> Result<Self::Instance>
[src]
Clones the current middleware to a new instance.
Auto Trait Implementations
impl<T> RefUnwindSafe for StateMiddleware<T>
impl<T> Send for StateMiddleware<T>
impl<T> Sync for StateMiddleware<T>
impl<T> Unpin for StateMiddleware<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for StateMiddleware<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,