pub struct SyncMiddleware<F>(/* private fields */);Expand description
experimental type for sync function as middleware.
Implementations§
Source§impl<F> SyncMiddleware<F>
impl<F> SyncMiddleware<F>
Sourcepub fn new<C, E>(func: F) -> Self
pub fn new<C, E>(func: F) -> Self
*. Sync middleware does not have access to request/response body.
construct a new middleware with given sync function. the function must be actively calling Next::call and finish it to drive inner services to completion. panic in sync function middleware would result in a panic at task level and it’s client connection would be terminated immediately.
Trait Implementations§
Auto Trait Implementations§
impl<F> Freeze for SyncMiddleware<F>where
F: Freeze,
impl<F> RefUnwindSafe for SyncMiddleware<F>where
F: RefUnwindSafe,
impl<F> Send for SyncMiddleware<F>where
F: Send,
impl<F> Sync for SyncMiddleware<F>where
F: Sync,
impl<F> Unpin for SyncMiddleware<F>where
F: Unpin,
impl<F> UnwindSafe for SyncMiddleware<F>where
F: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<S, Arg> ServiceExt<Arg> for Swhere
S: Service<Arg>,
impl<S, Arg> ServiceExt<Arg> for Swhere
S: Service<Arg>,
Source§fn enclosed<T>(self, build: T) -> Pipeline<Self, T, BuildEnclosed>
fn enclosed<T>(self, build: T) -> Pipeline<Self, T, BuildEnclosed>
Enclose Self with given
T as Service<<Self as Service<_>>::Response>>. In other word T
would take Self’s Service::Response type as it’s generic argument of Service<_> impl.Source§fn enclosed_fn<T, Req, O>(
self,
func: T,
) -> Pipeline<Self, AsyncFn<T>, BuildEnclosed>
fn enclosed_fn<T, Req, O>( self, func: T, ) -> Pipeline<Self, AsyncFn<T>, BuildEnclosed>
Function version of Self::enclosed method.
Source§fn map<F, Res, ResMap>(self, mapper: F) -> Pipeline<Self, Map<F>, BuildEnclosed>
fn map<F, Res, ResMap>(self, mapper: F) -> Pipeline<Self, Map<F>, BuildEnclosed>
Mutate
<<Self::Response as Service<Req>>::Future as Future>::Output type with given
closure.