FromContextOnce

Trait FromContextOnce 

Source
pub trait FromContextOnce<C, M = Once>: Sized {
    type Error: Into<BoxError>;
    type Future<'c>: Future<Output = Result<Self, Self::Error>> + 'c
       where C: 'c;

    // Required method
    fn from_context_once(context: Exclusive<'_, C>) -> Self::Future<'_>;
}
Expand description

Extract data from the given context. The extraction will only be possible once.

Required Associated Types§

Source

type Error: Into<BoxError>

Source

type Future<'c>: Future<Output = Result<Self, Self::Error>> + 'c where C: 'c

Required Methods§

Source

fn from_context_once(context: Exclusive<'_, C>) -> Self::Future<'_>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl FromContextOnce<RequestContext> for RequestBodyState

Source§

type Error = InvalidRequestState

Source§

type Future<'c> = Pin<Box<dyn Future<Output = Result<RequestBodyState, <RequestBodyState as FromContextOnce<RequestContext>>::Error>> + 'c>>

Source§

impl FromContextOnce<RequestContext> for RequestBodyStreamState

Source§

impl FromContextOnce<RequestContext> for RequestHeadersState

Source§

impl FromContextOnce<RequestContext> for RequestState

Source§

type Error = InvalidRequestState

Source§

type Future<'c> = Pin<Box<dyn Future<Output = Result<RequestState, <RequestState as FromContextOnce<RequestContext>>::Error>> + 'c>>

Source§

impl FromContextOnce<ConfigureContext> for Launcher

Source§

impl<D> FromContextOnce<ResponseContext<D>> for ResponseBodyState

Source§

type Error = InvalidResponseState

Source§

type Future<'c> = Pin<Box<dyn Future<Output = Result<ResponseBodyState, <ResponseBodyState as FromContextOnce<ResponseContext<D>>>::Error>> + 'c>> where D: 'c

Source§

impl<D> FromContextOnce<ResponseContext<D>> for ResponseBodyStreamState

Source§

type Error = InvalidResponseState

Source§

type Future<'c> = Pin<Box<dyn Future<Output = Result<ResponseBodyStreamState, <ResponseBodyStreamState as FromContextOnce<ResponseContext<D>>>::Error>> + 'c>> where D: 'c

Source§

impl<D> FromContextOnce<ResponseContext<D>> for ResponseHeadersState

Source§

type Error = InvalidResponseState

Source§

type Future<'c> = Pin<Box<dyn Future<Output = Result<ResponseHeadersState, <ResponseHeadersState as FromContextOnce<ResponseContext<D>>>::Error>> + 'c>> where D: 'c

Source§

impl<D> FromContextOnce<ResponseContext<D>> for ResponseState

Source§

type Error = InvalidResponseState

Source§

type Future<'c> = Pin<Box<dyn Future<Output = Result<ResponseState, <ResponseState as FromContextOnce<ResponseContext<D>>>::Error>> + 'c>> where D: 'c

Source§

impl<E> FromContextOnce<FilterContext> for Exchange<E>
where E: After<Start> + 'static,