Trait TryServiceExt

Source
pub trait TryServiceExt<I, E>: TryService<I, E> {
    // Provided methods
    fn map_ok<C: FnMut(Self::Ok) -> U + Send, U>(
        self,
        map: C,
    ) -> impl Service<Result<I, E>, Out = Result<U, Self::Error>>
       where Self: Sized { ... }
    fn and_then<C: FnMut(Self::Ok) -> F + Send, F>(
        self,
        f: C,
    ) -> impl Service<Result<I, E>, Out = Result<F::Ok, Self::Error>>
       where Self: Sized,
             F: TryFuture<Error = Self::Error> + Send { ... }
    fn finally<C, F>(self, f: C) -> impl Service<Result<I, E>, Out = Self::Out>
       where Self: Sized,
             Self::Ok: Send,
             Self::Error: Send,
             F: Future<Output = Result<(), Self::Error>> + Send,
             C: Send + FnMut() -> F { ... }
    fn except<C, F>(self, f: C) -> impl Service<Result<I, E>, Out = Self::Out>
       where Self: Sized,
             Self::Ok: Send,
             Self::Error: Send,
             F: Future<Output = Result<(), Self::Error>> + Send,
             C: Send + FnMut(Self::Error) -> F { ... }
    fn stub(self) -> impl Service<Result<I, E>, Out = Result<(), Self::Error>>
       where Self: Sized,
             Self::Ok: Send,
             Self::Error: Send { ... }
    fn try_flatten_map<C, O, F, S>(
        self,
        f: C,
    ) -> impl Service<Result<I, E>, Out = Result<O, Self::Error>>
       where Self: Sized,
             Self::Ok: Send,
             Self::Error: Send,
             O: Send,
             E: Send,
             I: Send,
             F: Future<Output = Result<S, Self::Error>> + Send,
             C: FnMut(Self::Ok) -> F + Send,
             S: Stream<Item = Result<O, Self::Error>> + Send { ... }
}

Provided Methods§

Source

fn map_ok<C: FnMut(Self::Ok) -> U + Send, U>( self, map: C, ) -> impl Service<Result<I, E>, Out = Result<U, Self::Error>>
where Self: Sized,

Source

fn and_then<C: FnMut(Self::Ok) -> F + Send, F>( self, f: C, ) -> impl Service<Result<I, E>, Out = Result<F::Ok, Self::Error>>
where Self: Sized, F: TryFuture<Error = Self::Error> + Send,

Source

fn finally<C, F>(self, f: C) -> impl Service<Result<I, E>, Out = Self::Out>
where Self: Sized, Self::Ok: Send, Self::Error: Send, F: Future<Output = Result<(), Self::Error>> + Send, C: Send + FnMut() -> F,

Source

fn except<C, F>(self, f: C) -> impl Service<Result<I, E>, Out = Self::Out>
where Self: Sized, Self::Ok: Send, Self::Error: Send, F: Future<Output = Result<(), Self::Error>> + Send, C: Send + FnMut(Self::Error) -> F,

Source

fn stub(self) -> impl Service<Result<I, E>, Out = Result<(), Self::Error>>
where Self: Sized, Self::Ok: Send, Self::Error: Send,

Source

fn try_flatten_map<C, O, F, S>( self, f: C, ) -> impl Service<Result<I, E>, Out = Result<O, Self::Error>>
where Self: Sized, Self::Ok: Send, Self::Error: Send, O: Send, E: Send, I: Send, F: Future<Output = Result<S, Self::Error>> + Send, C: FnMut(Self::Ok) -> F + Send, S: Stream<Item = Result<O, Self::Error>> + Send,

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.

Implementors§