pub trait ServiceExt<Arg>: Service<Arg> {
// Provided methods
fn enclosed<T>(self, build: T) -> Pipeline<Self, T, BuildEnclosed>
where T: Service<Result<Self::Response, Self::Error>>,
Self: Sized { ... }
fn enclosed_fn<T, Req, O>(
self,
func: T,
) -> Pipeline<Self, AsyncFn<T>, BuildEnclosed>
where T: AsyncFn(&Self::Response, Req) -> O + Clone,
Self: Sized { ... }
fn map<F, Res, ResMap>(
self,
mapper: F,
) -> Pipeline<Self, Map<F>, BuildEnclosed>
where F: Fn(Res) -> ResMap + Clone,
Self: Sized { ... }
fn map_err<F, Err, ErrMap>(
self,
err: F,
) -> Pipeline<Self, MapErr<F>, BuildEnclosed>
where F: Fn(Err) -> ErrMap + Clone,
Self: Sized { ... }
fn and_then<F>(self, factory: F) -> Pipeline<Self, F, BuildAndThen>
where F: Service<Arg>,
Self: Sized { ... }
}Expand description
extend trait for Service providing combinator functionalities.
Provided Methods§
Sourcefn 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.
Sourcefn 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.
Sourcefn 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.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".