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", so this trait is not object safe.