Trait xitca_web::service::ServiceExt
source · 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>(self, func: T) -> Pipeline<Self, T, BuildEnclosedFn>
where T: for<'s> AsyncClosure<(&'s Self::Response, Req)> + Clone,
Self: Sized { ... }
fn map<F, Res, ResMap>(self, mapper: F) -> Pipeline<Self, F, BuildMap>
where F: Fn(Res) -> ResMap + Clone,
Self: Sized { ... }
fn map_err<F, Err, ErrMap>(self, err: F) -> Pipeline<Self, F, BuildMapErr>
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>(self, func: T) -> Pipeline<Self, T, BuildEnclosedFn>
fn enclosed_fn<T, Req>(self, func: T) -> Pipeline<Self, T, BuildEnclosedFn>
Function version of Self::enclosed method.
sourcefn map<F, Res, ResMap>(self, mapper: F) -> Pipeline<Self, F, BuildMap>
fn map<F, Res, ResMap>(self, mapper: F) -> Pipeline<Self, F, BuildMap>
Mutate <<Self::Response as Service<Req>>::Future as Future>::Output type with given
closure.
Object Safety§
This trait is not object safe.