pub trait NewServiceExt: NewService {
    fn apply<S, I, F, R>(
        self,
        service: I,
        f: F
    ) -> AndThenNewService<Self, ApplyNewService<S, F, R, Self::Response>>
    where
        Self: Sized,
        S: NewService<InitError = Self::InitError>,
        S::Error: Into<<R::Future as Future>::Error>,
        I: IntoNewService<S>,
        F: Fn(Self::Response, &mut S::Service) -> R + Clone,
        R: IntoFuture<Error = Self::Error>
, { ... } fn and_then<F, B>(self, new_service: F) -> AndThenNewService<Self, B>
    where
        Self: Sized,
        F: IntoNewService<B>,
        B: NewService<Request = Self::Response, Error = Self::Error, InitError = Self::InitError>
, { ... } fn from_err<E>(self) -> FromErrNewService<Self, E>
    where
        Self: Sized,
        E: From<Self::Error>
, { ... } fn then<F, B>(self, new_service: F) -> ThenNewService<Self, B>
    where
        Self: Sized,
        F: IntoNewService<B>,
        B: NewService<Request = Result<Self::Response, Self::Error>, Error = Self::Error, InitError = Self::InitError>
, { ... } fn map<F, R>(self, f: F) -> MapNewService<Self, F, R>
    where
        Self: Sized,
        F: Fn(Self::Response) -> R
, { ... } fn map_err<F, E>(self, f: F) -> MapErrNewService<Self, F, E>
    where
        Self: Sized,
        F: Fn(Self::Error) -> E
, { ... } fn map_init_err<F, E>(self, f: F) -> MapInitErr<Self, F, E>
    where
        Self: Sized,
        F: Fn(Self::InitError) -> E
, { ... } }

Provided Methods§

NewService that create service to map this service’s error and new service’s init error to any error implementing From for this services Error`.

Note that this function consumes the receiving new service and returns a wrapped version of it.

Create NewService to chain on a computation for when a call to the service finished, passing the result of the call to the next service B.

Note that this function consumes the receiving future and returns a wrapped version of it.

Implementors§