Trait Service

pub trait Service<Request>:
    Sized
    + Send
    + Sync
    + 'static {
    type Response: Send + 'static;
    type Error: Send + 'static;

    // Required method
    fn serve(
        &self,
        ctx: Context,
        req: Request,
    ) -> impl Future<Output = Result<Self::Response, Self::Error>> + Send;

    // Provided method
    fn boxed(self) -> BoxService<Request, Self::Response, Self::Error> { ... }
}
Expand description

A Service that produces rama services, to serve requests with, be it transport layer requests or application layer requests.

Required Associated Types§

type Response: Send + 'static

The type of response returned by the service.

type Error: Send + 'static

The type of error returned by the service.

Required Methods§

fn serve( &self, ctx: Context, req: Request, ) -> impl Future<Output = Result<Self::Response, Self::Error>> + Send

Serve a response or error for the given request, using the given context.

Provided Methods§

fn boxed(self) -> BoxService<Request, Self::Response, Self::Error>

Box this service to allow for dynamic dispatch.

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.

Implementations on Foreign Types§

§

impl<I1, I2, I3, I4, I5, I6, I7, I8, I9, I10, I11, I12, RequestIn> Service<RequestIn> for (I1, I2, I3, I4, I5, I6, I7, I8, I9, I10, I11, I12)
where I1: RequestInspector<RequestIn>, <I1 as RequestInspector<RequestIn>>::Error: Into<Box<dyn Error + Sync + Send>>, I2: RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>, <I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I3: RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>, <I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I4: RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>, <I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I5: RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I6: RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I7: RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I8: RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I9: RequestInspector<<I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I9 as RequestInspector<<I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I10: RequestInspector<<I9 as RequestInspector<<I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I10 as RequestInspector<<I9 as RequestInspector<<I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I11: RequestInspector<<I10 as RequestInspector<<I9 as RequestInspector<<I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I11 as RequestInspector<<I10 as RequestInspector<<I9 as RequestInspector<<I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I12: RequestInspector<<I11 as RequestInspector<<I10 as RequestInspector<<I9 as RequestInspector<<I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I12 as RequestInspector<<I11 as RequestInspector<<I10 as RequestInspector<<I9 as RequestInspector<<I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, RequestIn: Send + 'static,

§

impl<I1, I2, I3, I4, I5, I6, I7, I8, I9, I10, I11, RequestIn> Service<RequestIn> for (I1, I2, I3, I4, I5, I6, I7, I8, I9, I10, I11)
where I1: RequestInspector<RequestIn>, <I1 as RequestInspector<RequestIn>>::Error: Into<Box<dyn Error + Sync + Send>>, I2: RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>, <I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I3: RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>, <I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I4: RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>, <I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I5: RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I6: RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I7: RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I8: RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I9: RequestInspector<<I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I9 as RequestInspector<<I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I10: RequestInspector<<I9 as RequestInspector<<I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I10 as RequestInspector<<I9 as RequestInspector<<I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I11: RequestInspector<<I10 as RequestInspector<<I9 as RequestInspector<<I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I11 as RequestInspector<<I10 as RequestInspector<<I9 as RequestInspector<<I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, RequestIn: Send + 'static,

§

impl<I1, I2, I3, I4, I5, I6, I7, I8, I9, I10, RequestIn> Service<RequestIn> for (I1, I2, I3, I4, I5, I6, I7, I8, I9, I10)
where I1: RequestInspector<RequestIn>, <I1 as RequestInspector<RequestIn>>::Error: Into<Box<dyn Error + Sync + Send>>, I2: RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>, <I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I3: RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>, <I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I4: RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>, <I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I5: RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I6: RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I7: RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I8: RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I9: RequestInspector<<I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I9 as RequestInspector<<I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I10: RequestInspector<<I9 as RequestInspector<<I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I10 as RequestInspector<<I9 as RequestInspector<<I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, RequestIn: Send + 'static,

§

impl<I1, I2, I3, I4, I5, I6, I7, I8, I9, RequestIn> Service<RequestIn> for (I1, I2, I3, I4, I5, I6, I7, I8, I9)
where I1: RequestInspector<RequestIn>, <I1 as RequestInspector<RequestIn>>::Error: Into<Box<dyn Error + Sync + Send>>, I2: RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>, <I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I3: RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>, <I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I4: RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>, <I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I5: RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I6: RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I7: RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I8: RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I9: RequestInspector<<I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I9 as RequestInspector<<I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, RequestIn: Send + 'static,

§

impl<I1, I2, I3, I4, I5, I6, I7, I8, RequestIn> Service<RequestIn> for (I1, I2, I3, I4, I5, I6, I7, I8)
where I1: RequestInspector<RequestIn>, <I1 as RequestInspector<RequestIn>>::Error: Into<Box<dyn Error + Sync + Send>>, I2: RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>, <I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I3: RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>, <I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I4: RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>, <I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I5: RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I6: RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I7: RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I8: RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I8 as RequestInspector<<I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, RequestIn: Send + 'static,

§

impl<I1, I2, I3, I4, I5, I6, I7, RequestIn> Service<RequestIn> for (I1, I2, I3, I4, I5, I6, I7)
where I1: RequestInspector<RequestIn>, <I1 as RequestInspector<RequestIn>>::Error: Into<Box<dyn Error + Sync + Send>>, I2: RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>, <I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I3: RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>, <I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I4: RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>, <I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I5: RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I6: RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I7: RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I7 as RequestInspector<<I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, RequestIn: Send + 'static,

§

impl<I1, I2, I3, I4, I5, I6, RequestIn> Service<RequestIn> for (I1, I2, I3, I4, I5, I6)
where I1: RequestInspector<RequestIn>, <I1 as RequestInspector<RequestIn>>::Error: Into<Box<dyn Error + Sync + Send>>, I2: RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>, <I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I3: RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>, <I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I4: RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>, <I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I5: RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I6: RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, RequestIn: Send + 'static,

§

type Error = Box<dyn Error + Sync + Send>

§

type Response = (Context, <I6 as RequestInspector<<I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut)

§

async fn serve( &self, ctx: Context, req: RequestIn, ) -> Result<<(I1, I2, I3, I4, I5, I6) as Service<RequestIn>>::Response, <(I1, I2, I3, I4, I5, I6) as Service<RequestIn>>::Error>

§

impl<I1, I2, I3, I4, I5, RequestIn> Service<RequestIn> for (I1, I2, I3, I4, I5)
where I1: RequestInspector<RequestIn>, <I1 as RequestInspector<RequestIn>>::Error: Into<Box<dyn Error + Sync + Send>>, I2: RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>, <I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I3: RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>, <I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I4: RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>, <I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I5: RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>, <I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, RequestIn: Send + 'static,

§

type Error = Box<dyn Error + Sync + Send>

§

type Response = (Context, <I5 as RequestInspector<<I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut)

§

async fn serve( &self, ctx: Context, req: RequestIn, ) -> Result<<(I1, I2, I3, I4, I5) as Service<RequestIn>>::Response, <(I1, I2, I3, I4, I5) as Service<RequestIn>>::Error>

§

impl<I1, I2, I3, I4, RequestIn> Service<RequestIn> for (I1, I2, I3, I4)
where I1: RequestInspector<RequestIn>, <I1 as RequestInspector<RequestIn>>::Error: Into<Box<dyn Error + Sync + Send>>, I2: RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>, <I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I3: RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>, <I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I4: RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>, <I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, RequestIn: Send + 'static,

§

type Error = Box<dyn Error + Sync + Send>

§

type Response = (Context, <I4 as RequestInspector<<I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut>>::RequestOut)

§

async fn serve( &self, ctx: Context, req: RequestIn, ) -> Result<<(I1, I2, I3, I4) as Service<RequestIn>>::Response, <(I1, I2, I3, I4) as Service<RequestIn>>::Error>

§

impl<I1, I2, I3, RequestIn> Service<RequestIn> for (I1, I2, I3)
where I1: RequestInspector<RequestIn>, <I1 as RequestInspector<RequestIn>>::Error: Into<Box<dyn Error + Sync + Send>>, I2: RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>, <I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, I3: RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>, <I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, RequestIn: Send + 'static,

§

type Error = Box<dyn Error + Sync + Send>

§

type Response = (Context, <I3 as RequestInspector<<I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut>>::RequestOut)

§

async fn serve( &self, ctx: Context, req: RequestIn, ) -> Result<<(I1, I2, I3) as Service<RequestIn>>::Response, <(I1, I2, I3) as Service<RequestIn>>::Error>

§

impl<I1, I2, RequestIn> Service<RequestIn> for (I1, I2)
where I1: RequestInspector<RequestIn>, <I1 as RequestInspector<RequestIn>>::Error: Into<Box<dyn Error + Sync + Send>>, I2: RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>, <I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::Error: Into<Box<dyn Error + Sync + Send>>, RequestIn: Send + 'static,

§

type Error = Box<dyn Error + Sync + Send>

§

type Response = (Context, <I2 as RequestInspector<<I1 as RequestInspector<RequestIn>>::RequestOut>>::RequestOut)

§

async fn serve( &self, ctx: Context, req: RequestIn, ) -> Result<<(I1, I2) as Service<RequestIn>>::Response, <(I1, I2) as Service<RequestIn>>::Error>

§

impl<I1, RequestIn> Service<RequestIn> for (I1,)
where I1: RequestInspector<RequestIn>, <I1 as RequestInspector<RequestIn>>::Error: Into<Box<dyn Error + Sync + Send>>, RequestIn: Send + 'static,

§

type Error = Box<dyn Error + Sync + Send>

§

type Response = (Context, <I1 as RequestInspector<RequestIn>>::RequestOut)

§

async fn serve( &self, ctx: Context, req: RequestIn, ) -> Result<<(I1,) as Service<RequestIn>>::Response, <(I1,) as Service<RequestIn>>::Error>

§

impl<Request> Service<Request> for ()
where Request: Send + 'static,

§

type Error = Infallible

§

type Response = (Context, Request)

§

async fn serve( &self, ctx: Context, req: Request, ) -> Result<(Context, Request), <() as Service<Request>>::Error>

§

impl<S, Request> Service<Request> for &'static S
where S: Service<Request>,

§

type Response = <S as Service<Request>>::Response

§

type Error = <S as Service<Request>>::Error

§

fn serve( &self, ctx: Context, req: Request, ) -> impl Future<Output = Result<<&'static S as Service<Request>>::Response, <&'static S as Service<Request>>::Error>> + Send

§

impl<S, Request> Service<Request> for Arc<S>
where S: Service<Request>,

§

type Response = <S as Service<Request>>::Response

§

type Error = <S as Service<Request>>::Error

§

fn serve( &self, ctx: Context, req: Request, ) -> impl Future<Output = Result<<Arc<S> as Service<Request>>::Response, <Arc<S> as Service<Request>>::Error>> + Send

Implementors§

§

impl Service<Interface> for DefaultAcceptorFactory

§

impl Service<Interface> for DefaultUdpBinder

§

impl Service<Upgraded> for WebSocketEchoService

§

impl Service<ServerWebSocket> for WebSocketEchoService

§

impl Service<AsyncWebSocket> for WebSocketEchoService

Source§

impl Service<Request<Body>> for rama::cli::service::echo::EchoService

Source§

impl Service<Request<Body>> for HttpEchoService

§

impl Service<Request<Body>> for Router

§

impl Service<Request<Body>> for WebService

§

impl<A, B, C, D, E, F, G, H, I, Request, Response> Service<Request> for Either9<A, B, C, D, E, F, G, H, I>
where A: Service<Request, Response = Response>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, B: Service<Request, Response = Response>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, C: Service<Request, Response = Response>, <C as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, D: Service<Request, Response = Response>, <D as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, E: Service<Request, Response = Response>, <E as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, F: Service<Request, Response = Response>, <F as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, G: Service<Request, Response = Response>, <G as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, H: Service<Request, Response = Response>, <H as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, I: Service<Request, Response = Response>, <I as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: Send + 'static, Response: Send + 'static,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, B, C, D, E, F, G, H, I, Request, Response> Service<Request> for EitherConn9Connected<A, B, C, D, E, F, G, H, I>
where A: Service<Request, Response = Response>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, B: Service<Request, Response = Response>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, C: Service<Request, Response = Response>, <C as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, D: Service<Request, Response = Response>, <D as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, E: Service<Request, Response = Response>, <E as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, F: Service<Request, Response = Response>, <F as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, G: Service<Request, Response = Response>, <G as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, H: Service<Request, Response = Response>, <H as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, I: Service<Request, Response = Response>, <I as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: Send + 'static, Response: Send + 'static,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, B, C, D, E, F, G, H, Request, Response> Service<Request> for Either8<A, B, C, D, E, F, G, H>
where A: Service<Request, Response = Response>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, B: Service<Request, Response = Response>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, C: Service<Request, Response = Response>, <C as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, D: Service<Request, Response = Response>, <D as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, E: Service<Request, Response = Response>, <E as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, F: Service<Request, Response = Response>, <F as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, G: Service<Request, Response = Response>, <G as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, H: Service<Request, Response = Response>, <H as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: Send + 'static, Response: Send + 'static,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, B, C, D, E, F, G, H, Request, Response> Service<Request> for EitherConn8Connected<A, B, C, D, E, F, G, H>
where A: Service<Request, Response = Response>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, B: Service<Request, Response = Response>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, C: Service<Request, Response = Response>, <C as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, D: Service<Request, Response = Response>, <D as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, E: Service<Request, Response = Response>, <E as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, F: Service<Request, Response = Response>, <F as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, G: Service<Request, Response = Response>, <G as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, H: Service<Request, Response = Response>, <H as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: Send + 'static, Response: Send + 'static,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, B, C, D, E, F, G, Request, Response> Service<Request> for Either7<A, B, C, D, E, F, G>
where A: Service<Request, Response = Response>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, B: Service<Request, Response = Response>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, C: Service<Request, Response = Response>, <C as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, D: Service<Request, Response = Response>, <D as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, E: Service<Request, Response = Response>, <E as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, F: Service<Request, Response = Response>, <F as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, G: Service<Request, Response = Response>, <G as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: Send + 'static, Response: Send + 'static,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, B, C, D, E, F, G, Request, Response> Service<Request> for EitherConn7Connected<A, B, C, D, E, F, G>
where A: Service<Request, Response = Response>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, B: Service<Request, Response = Response>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, C: Service<Request, Response = Response>, <C as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, D: Service<Request, Response = Response>, <D as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, E: Service<Request, Response = Response>, <E as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, F: Service<Request, Response = Response>, <F as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, G: Service<Request, Response = Response>, <G as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: Send + 'static, Response: Send + 'static,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, B, C, D, E, F, Request, Response> Service<Request> for Either6<A, B, C, D, E, F>
where A: Service<Request, Response = Response>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, B: Service<Request, Response = Response>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, C: Service<Request, Response = Response>, <C as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, D: Service<Request, Response = Response>, <D as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, E: Service<Request, Response = Response>, <E as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, F: Service<Request, Response = Response>, <F as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: Send + 'static, Response: Send + 'static,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, B, C, D, E, F, Request, Response> Service<Request> for EitherConn6Connected<A, B, C, D, E, F>
where A: Service<Request, Response = Response>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, B: Service<Request, Response = Response>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, C: Service<Request, Response = Response>, <C as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, D: Service<Request, Response = Response>, <D as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, E: Service<Request, Response = Response>, <E as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, F: Service<Request, Response = Response>, <F as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: Send + 'static, Response: Send + 'static,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, B, C, D, E, Request, Response> Service<Request> for Either5<A, B, C, D, E>
where A: Service<Request, Response = Response>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, B: Service<Request, Response = Response>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, C: Service<Request, Response = Response>, <C as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, D: Service<Request, Response = Response>, <D as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, E: Service<Request, Response = Response>, <E as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: Send + 'static, Response: Send + 'static,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, B, C, D, E, Request, Response> Service<Request> for EitherConn5Connected<A, B, C, D, E>
where A: Service<Request, Response = Response>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, B: Service<Request, Response = Response>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, C: Service<Request, Response = Response>, <C as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, D: Service<Request, Response = Response>, <D as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, E: Service<Request, Response = Response>, <E as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: Send + 'static, Response: Send + 'static,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, B, C, D, Request, Response> Service<Request> for Either4<A, B, C, D>
where A: Service<Request, Response = Response>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, B: Service<Request, Response = Response>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, C: Service<Request, Response = Response>, <C as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, D: Service<Request, Response = Response>, <D as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: Send + 'static, Response: Send + 'static,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, B, C, D, Request, Response> Service<Request> for EitherConn4Connected<A, B, C, D>
where A: Service<Request, Response = Response>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, B: Service<Request, Response = Response>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, C: Service<Request, Response = Response>, <C as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, D: Service<Request, Response = Response>, <D as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: Send + 'static, Response: Send + 'static,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, B, C, Request, Response> Service<Request> for Either3<A, B, C>
where A: Service<Request, Response = Response>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, B: Service<Request, Response = Response>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, C: Service<Request, Response = Response>, <C as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: Send + 'static, Response: Send + 'static,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, B, C, Request, Response> Service<Request> for EitherConn3Connected<A, B, C>
where A: Service<Request, Response = Response>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, B: Service<Request, Response = Response>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, C: Service<Request, Response = Response>, <C as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: Send + 'static, Response: Send + 'static,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, B, Request, Response> Service<Request> for Either<A, B>
where A: Service<Request, Response = Response>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, B: Service<Request, Response = Response>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: Send + 'static, Response: Send + 'static,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, B, Request, Response> Service<Request> for EitherConnConnected<A, B>
where A: Service<Request, Response = Response>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, B: Service<Request, Response = Response>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: Send + 'static, Response: Send + 'static,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, C, L, S, ReqBody, ResBody> Service<Request<ReqBody>> for ProxyAuthService<A, C, S, L>
where A: Authority<C, L>, C: Credentials + Clone + Send + Sync + 'static, S: Service<Request<ReqBody>, Response = Response<ResBody>>, L: 'static, ReqBody: Send + 'static, ResBody: Default + Send + 'static,

§

type Response = <S as Service<Request<ReqBody>>>::Response

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, F, ConnF, G, ConnG, H, ConnH, I, ConnI, Request> Service<Request> for EitherConn9<A, B, C, D, E, F, G, H, I>
where A: Service<Request, Response = EstablishedClientConnection<ConnA, Request>>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnA: Send + 'static, B: Service<Request, Response = EstablishedClientConnection<ConnB, Request>>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnB: Send + 'static, C: Service<Request, Response = EstablishedClientConnection<ConnC, Request>>, <C as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnC: Send + 'static, D: Service<Request, Response = EstablishedClientConnection<ConnD, Request>>, <D as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnD: Send + 'static, E: Service<Request, Response = EstablishedClientConnection<ConnE, Request>>, <E as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnE: Send + 'static, F: Service<Request, Response = EstablishedClientConnection<ConnF, Request>>, <F as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnF: Send + 'static, G: Service<Request, Response = EstablishedClientConnection<ConnG, Request>>, <G as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnG: Send + 'static, H: Service<Request, Response = EstablishedClientConnection<ConnH, Request>>, <H as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnH: Send + 'static, I: Service<Request, Response = EstablishedClientConnection<ConnI, Request>>, <I as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnI: Send + 'static, Request: Send + 'static,

§

type Response = EstablishedClientConnection<EitherConn9Connected<ConnA, ConnB, ConnC, ConnD, ConnE, ConnF, ConnG, ConnH, ConnI>, Request>

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, F, ConnF, G, ConnG, H, ConnH, Request> Service<Request> for EitherConn8<A, B, C, D, E, F, G, H>
where A: Service<Request, Response = EstablishedClientConnection<ConnA, Request>>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnA: Send + 'static, B: Service<Request, Response = EstablishedClientConnection<ConnB, Request>>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnB: Send + 'static, C: Service<Request, Response = EstablishedClientConnection<ConnC, Request>>, <C as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnC: Send + 'static, D: Service<Request, Response = EstablishedClientConnection<ConnD, Request>>, <D as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnD: Send + 'static, E: Service<Request, Response = EstablishedClientConnection<ConnE, Request>>, <E as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnE: Send + 'static, F: Service<Request, Response = EstablishedClientConnection<ConnF, Request>>, <F as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnF: Send + 'static, G: Service<Request, Response = EstablishedClientConnection<ConnG, Request>>, <G as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnG: Send + 'static, H: Service<Request, Response = EstablishedClientConnection<ConnH, Request>>, <H as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnH: Send + 'static, Request: Send + 'static,

§

type Response = EstablishedClientConnection<EitherConn8Connected<ConnA, ConnB, ConnC, ConnD, ConnE, ConnF, ConnG, ConnH>, Request>

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, F, ConnF, G, ConnG, Request> Service<Request> for EitherConn7<A, B, C, D, E, F, G>
where A: Service<Request, Response = EstablishedClientConnection<ConnA, Request>>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnA: Send + 'static, B: Service<Request, Response = EstablishedClientConnection<ConnB, Request>>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnB: Send + 'static, C: Service<Request, Response = EstablishedClientConnection<ConnC, Request>>, <C as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnC: Send + 'static, D: Service<Request, Response = EstablishedClientConnection<ConnD, Request>>, <D as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnD: Send + 'static, E: Service<Request, Response = EstablishedClientConnection<ConnE, Request>>, <E as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnE: Send + 'static, F: Service<Request, Response = EstablishedClientConnection<ConnF, Request>>, <F as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnF: Send + 'static, G: Service<Request, Response = EstablishedClientConnection<ConnG, Request>>, <G as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnG: Send + 'static, Request: Send + 'static,

§

type Response = EstablishedClientConnection<EitherConn7Connected<ConnA, ConnB, ConnC, ConnD, ConnE, ConnF, ConnG>, Request>

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, F, ConnF, Request> Service<Request> for EitherConn6<A, B, C, D, E, F>
where A: Service<Request, Response = EstablishedClientConnection<ConnA, Request>>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnA: Send + 'static, B: Service<Request, Response = EstablishedClientConnection<ConnB, Request>>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnB: Send + 'static, C: Service<Request, Response = EstablishedClientConnection<ConnC, Request>>, <C as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnC: Send + 'static, D: Service<Request, Response = EstablishedClientConnection<ConnD, Request>>, <D as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnD: Send + 'static, E: Service<Request, Response = EstablishedClientConnection<ConnE, Request>>, <E as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnE: Send + 'static, F: Service<Request, Response = EstablishedClientConnection<ConnF, Request>>, <F as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnF: Send + 'static, Request: Send + 'static,

§

type Response = EstablishedClientConnection<EitherConn6Connected<ConnA, ConnB, ConnC, ConnD, ConnE, ConnF>, Request>

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, Request> Service<Request> for EitherConn5<A, B, C, D, E>
where A: Service<Request, Response = EstablishedClientConnection<ConnA, Request>>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnA: Send + 'static, B: Service<Request, Response = EstablishedClientConnection<ConnB, Request>>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnB: Send + 'static, C: Service<Request, Response = EstablishedClientConnection<ConnC, Request>>, <C as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnC: Send + 'static, D: Service<Request, Response = EstablishedClientConnection<ConnD, Request>>, <D as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnD: Send + 'static, E: Service<Request, Response = EstablishedClientConnection<ConnE, Request>>, <E as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnE: Send + 'static, Request: Send + 'static,

§

type Response = EstablishedClientConnection<EitherConn5Connected<ConnA, ConnB, ConnC, ConnD, ConnE>, Request>

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, Request> Service<Request> for EitherConn4<A, B, C, D>
where A: Service<Request, Response = EstablishedClientConnection<ConnA, Request>>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnA: Send + 'static, B: Service<Request, Response = EstablishedClientConnection<ConnB, Request>>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnB: Send + 'static, C: Service<Request, Response = EstablishedClientConnection<ConnC, Request>>, <C as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnC: Send + 'static, D: Service<Request, Response = EstablishedClientConnection<ConnD, Request>>, <D as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnD: Send + 'static, Request: Send + 'static,

§

type Response = EstablishedClientConnection<EitherConn4Connected<ConnA, ConnB, ConnC, ConnD>, Request>

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, ConnA, B, ConnB, C, ConnC, Request> Service<Request> for EitherConn3<A, B, C>
where A: Service<Request, Response = EstablishedClientConnection<ConnA, Request>>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnA: Send + 'static, B: Service<Request, Response = EstablishedClientConnection<ConnB, Request>>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnB: Send + 'static, C: Service<Request, Response = EstablishedClientConnection<ConnC, Request>>, <C as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnC: Send + 'static, Request: Send + 'static,

§

type Response = EstablishedClientConnection<EitherConn3Connected<ConnA, ConnB, ConnC>, Request>

§

type Error = Box<dyn Error + Sync + Send>

§

impl<A, ConnA, B, ConnB, Request> Service<Request> for EitherConn<A, B>
where A: Service<Request, Response = EstablishedClientConnection<ConnA, Request>>, <A as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnA: Send + 'static, B: Service<Request, Response = EstablishedClientConnection<ConnB, Request>>, <B as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, ConnB: Send + 'static, Request: Send + 'static,

§

type Response = EstablishedClientConnection<EitherConnConnected<ConnA, ConnB>, Request>

§

type Error = Box<dyn Error + Sync + Send>

§

impl<B, S, Response, IO> Service<IO> for HttpService<B, S>
where B: HttpCoreConnServer, S: Service<Request<Body>, Response = Response, Error = Infallible>, Response: IntoResponse + Send + 'static, IO: Stream,

§

type Response = ()

§

type Error = Box<dyn Error + Sync + Send>

§

impl<Body> Service<Request<Body>> for Upgrade
where Body: Send + 'static,

§

impl<Body> Service<Request<Body>> for WebSocketAcceptor
where Body: Send + 'static,

Source§

impl<Body, ModifiedBody, ConnResponse> Service<Request<Body>> for EasyHttpWebClient<Body, EstablishedClientConnection<ConnResponse, Request<ModifiedBody>>>
where Body: Body<Data: Send + 'static, Error: Into<BoxError>> + Unpin + Send + 'static, ModifiedBody: Body<Data: Send + 'static, Error: Into<BoxError>> + Unpin + Send + 'static, ConnResponse: Service<Request<ModifiedBody>, Response = Response, Error = BoxError>,

§

impl<Body, ResBody> Service<Request<Body>> for Redirect<ResBody>
where Body: Send + 'static, ResBody: Default + Send + 'static,

§

type Response = Response<ResBody>

§

type Error = Infallible

§

impl<Body, S> Service<Request<Body>> for DnsResolveModeService<S>
where Body: Send + Sync + 'static, S: Service<Request<Body>>, <S as Service<Request<Body>>>::Error: Into<Box<dyn Error + Sync + Send>> + Send + Sync + 'static,

§

impl<Body, S, P> Service<Request<Body>> for UserAgentEmulateService<S, P>
where Body: Send + Sync + 'static, S: Service<Request<Body>>, <S as Service<Request<Body>>>::Error: Into<Box<dyn Error + Sync + Send>>, P: UserAgentProvider,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<BodyIn, BodyOut, I> Service<Request<BodyIn>> for HttpClientService<BodyOut, I>
where BodyIn: Send + 'static, BodyOut: Body + Unpin + Send + 'static, <BodyOut as Body>::Data: Send + 'static, <BodyOut as Body>::Error: Into<Box<dyn Error + Sync + Send>>, I: RequestInspector<Request<BodyIn>, RequestOut = Request<BodyOut>>, <I as RequestInspector<Request<BodyIn>>>::Error: Into<Box<dyn Error + Sync + Send>>,

§

type Response = Response<Body>

§

type Error = Box<dyn Error + Sync + Send>

§

impl<C, B, U, A, S> Service<S> for Socks5Acceptor<C, B, U, A>

§

type Response = ()

§

type Error = Error

§

impl<F, S, ReqBody, ResBody, NewReqBody> Service<Request<ReqBody>> for MapRequestBody<S, F>
where S: Service<Request<NewReqBody>, Response = Response<ResBody>>, ReqBody: Send + 'static, NewReqBody: Send + 'static, ResBody: Send + Sync + 'static, F: Fn(ReqBody) -> NewReqBody + Send + Sync + 'static,

§

type Response = <S as Service<Request<NewReqBody>>>::Response

§

type Error = <S as Service<Request<NewReqBody>>>::Error

§

impl<F, S, ReqBody, ResBody, NewResBody> Service<Request<ReqBody>> for MapResponseBody<S, F>
where S: Service<Request<ReqBody>, Response = Response<ResBody>>, ReqBody: Send + 'static, ResBody: Send + Sync + 'static, NewResBody: Send + Sync + 'static, F: Fn(ResBody) -> NewResBody + Clone + Send + Sync + 'static,

§

type Response = Response<NewResBody>

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<H, S, Body> Service<Request<Body>> for GetForwardedHeaderService<S, H>
where H: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = <S as Service<Request<Body>>>::Error

§

impl<I, RequestIn, RequestOut> Service<RequestIn> for Option<I>
where I: Service<RequestIn, Response = (Context, RequestOut)>, RequestIn: Into<RequestOut> + Send + 'static, RequestOut: Send + 'static,

§

type Error = <I as Service<RequestIn>>::Error

§

type Response = <I as Service<RequestIn>>::Response

§

impl<I, S, RequestIn> Service<RequestIn> for RequestInspectorLayerService<I, S>
where I: RequestInspector<RequestIn>, S: Service<<I as RequestInspector<RequestIn>>::RequestOut>, <S as Service<<I as RequestInspector<RequestIn>>::RequestOut>>::Error: Into<<I as RequestInspector<RequestIn>>::Error>, RequestIn: Send + 'static,

§

type Response = <S as Service<<I as RequestInspector<RequestIn>>::RequestOut>>::Response

§

type Error = <I as RequestInspector<RequestIn>>::Error

Source§

impl<Input> Service<Input> for TcpEchoService
where Input: Stream + Unpin,

§

impl<M_T1, T1, M_T2, T2, M_T3, T3, M_T4, T4, M_T5, T5, M_T6, T6, M_T7, T7, M_T8, T8, M_T9, T9, M_T10, T10, M_T11, T11, M_T12, T12, S, Request, Response, Error> Service<Request> for MatcherRouter<((M_T1, T1), (M_T2, T2), (M_T3, T3), (M_T4, T4), (M_T5, T5), (M_T6, T6), (M_T7, T7), (M_T8, T8), (M_T9, T9), (M_T10, T10), (M_T11, T11), (M_T12, T12), S)>
where Request: Send + 'static, Response: Send + 'static, M_T1: Matcher<Request>, T1: Service<Request, Response = Response, Error = Error>, M_T2: Matcher<Request>, T2: Service<Request, Response = Response, Error = Error>, M_T3: Matcher<Request>, T3: Service<Request, Response = Response, Error = Error>, M_T4: Matcher<Request>, T4: Service<Request, Response = Response, Error = Error>, M_T5: Matcher<Request>, T5: Service<Request, Response = Response, Error = Error>, M_T6: Matcher<Request>, T6: Service<Request, Response = Response, Error = Error>, M_T7: Matcher<Request>, T7: Service<Request, Response = Response, Error = Error>, M_T8: Matcher<Request>, T8: Service<Request, Response = Response, Error = Error>, M_T9: Matcher<Request>, T9: Service<Request, Response = Response, Error = Error>, M_T10: Matcher<Request>, T10: Service<Request, Response = Response, Error = Error>, M_T11: Matcher<Request>, T11: Service<Request, Response = Response, Error = Error>, M_T12: Matcher<Request>, T12: Service<Request, Response = Response, Error = Error>, S: Service<Request, Response = Response, Error = Error>, Error: Send + 'static,

§

type Response = Response

§

type Error = Error

§

impl<M_T1, T1, M_T2, T2, M_T3, T3, M_T4, T4, M_T5, T5, M_T6, T6, M_T7, T7, M_T8, T8, M_T9, T9, M_T10, T10, M_T11, T11, S, Request, Response, Error> Service<Request> for MatcherRouter<((M_T1, T1), (M_T2, T2), (M_T3, T3), (M_T4, T4), (M_T5, T5), (M_T6, T6), (M_T7, T7), (M_T8, T8), (M_T9, T9), (M_T10, T10), (M_T11, T11), S)>
where Request: Send + 'static, Response: Send + 'static, M_T1: Matcher<Request>, T1: Service<Request, Response = Response, Error = Error>, M_T2: Matcher<Request>, T2: Service<Request, Response = Response, Error = Error>, M_T3: Matcher<Request>, T3: Service<Request, Response = Response, Error = Error>, M_T4: Matcher<Request>, T4: Service<Request, Response = Response, Error = Error>, M_T5: Matcher<Request>, T5: Service<Request, Response = Response, Error = Error>, M_T6: Matcher<Request>, T6: Service<Request, Response = Response, Error = Error>, M_T7: Matcher<Request>, T7: Service<Request, Response = Response, Error = Error>, M_T8: Matcher<Request>, T8: Service<Request, Response = Response, Error = Error>, M_T9: Matcher<Request>, T9: Service<Request, Response = Response, Error = Error>, M_T10: Matcher<Request>, T10: Service<Request, Response = Response, Error = Error>, M_T11: Matcher<Request>, T11: Service<Request, Response = Response, Error = Error>, S: Service<Request, Response = Response, Error = Error>, Error: Send + 'static,

§

type Response = Response

§

type Error = Error

§

impl<M_T1, T1, M_T2, T2, M_T3, T3, M_T4, T4, M_T5, T5, M_T6, T6, M_T7, T7, M_T8, T8, M_T9, T9, M_T10, T10, S, Request, Response, Error> Service<Request> for MatcherRouter<((M_T1, T1), (M_T2, T2), (M_T3, T3), (M_T4, T4), (M_T5, T5), (M_T6, T6), (M_T7, T7), (M_T8, T8), (M_T9, T9), (M_T10, T10), S)>
where Request: Send + 'static, Response: Send + 'static, M_T1: Matcher<Request>, T1: Service<Request, Response = Response, Error = Error>, M_T2: Matcher<Request>, T2: Service<Request, Response = Response, Error = Error>, M_T3: Matcher<Request>, T3: Service<Request, Response = Response, Error = Error>, M_T4: Matcher<Request>, T4: Service<Request, Response = Response, Error = Error>, M_T5: Matcher<Request>, T5: Service<Request, Response = Response, Error = Error>, M_T6: Matcher<Request>, T6: Service<Request, Response = Response, Error = Error>, M_T7: Matcher<Request>, T7: Service<Request, Response = Response, Error = Error>, M_T8: Matcher<Request>, T8: Service<Request, Response = Response, Error = Error>, M_T9: Matcher<Request>, T9: Service<Request, Response = Response, Error = Error>, M_T10: Matcher<Request>, T10: Service<Request, Response = Response, Error = Error>, S: Service<Request, Response = Response, Error = Error>, Error: Send + 'static,

§

type Response = Response

§

type Error = Error

§

impl<M_T1, T1, M_T2, T2, M_T3, T3, M_T4, T4, M_T5, T5, M_T6, T6, M_T7, T7, M_T8, T8, M_T9, T9, S, Request, Response, Error> Service<Request> for MatcherRouter<((M_T1, T1), (M_T2, T2), (M_T3, T3), (M_T4, T4), (M_T5, T5), (M_T6, T6), (M_T7, T7), (M_T8, T8), (M_T9, T9), S)>
where Request: Send + 'static, Response: Send + 'static, M_T1: Matcher<Request>, T1: Service<Request, Response = Response, Error = Error>, M_T2: Matcher<Request>, T2: Service<Request, Response = Response, Error = Error>, M_T3: Matcher<Request>, T3: Service<Request, Response = Response, Error = Error>, M_T4: Matcher<Request>, T4: Service<Request, Response = Response, Error = Error>, M_T5: Matcher<Request>, T5: Service<Request, Response = Response, Error = Error>, M_T6: Matcher<Request>, T6: Service<Request, Response = Response, Error = Error>, M_T7: Matcher<Request>, T7: Service<Request, Response = Response, Error = Error>, M_T8: Matcher<Request>, T8: Service<Request, Response = Response, Error = Error>, M_T9: Matcher<Request>, T9: Service<Request, Response = Response, Error = Error>, S: Service<Request, Response = Response, Error = Error>, Error: Send + 'static,

§

type Response = Response

§

type Error = Error

§

impl<M_T1, T1, M_T2, T2, M_T3, T3, M_T4, T4, M_T5, T5, M_T6, T6, M_T7, T7, M_T8, T8, S, Request, Response, Error> Service<Request> for MatcherRouter<((M_T1, T1), (M_T2, T2), (M_T3, T3), (M_T4, T4), (M_T5, T5), (M_T6, T6), (M_T7, T7), (M_T8, T8), S)>
where Request: Send + 'static, Response: Send + 'static, M_T1: Matcher<Request>, T1: Service<Request, Response = Response, Error = Error>, M_T2: Matcher<Request>, T2: Service<Request, Response = Response, Error = Error>, M_T3: Matcher<Request>, T3: Service<Request, Response = Response, Error = Error>, M_T4: Matcher<Request>, T4: Service<Request, Response = Response, Error = Error>, M_T5: Matcher<Request>, T5: Service<Request, Response = Response, Error = Error>, M_T6: Matcher<Request>, T6: Service<Request, Response = Response, Error = Error>, M_T7: Matcher<Request>, T7: Service<Request, Response = Response, Error = Error>, M_T8: Matcher<Request>, T8: Service<Request, Response = Response, Error = Error>, S: Service<Request, Response = Response, Error = Error>, Error: Send + 'static,

§

type Response = Response

§

type Error = Error

§

impl<M_T1, T1, M_T2, T2, M_T3, T3, M_T4, T4, M_T5, T5, M_T6, T6, M_T7, T7, S, Request, Response, Error> Service<Request> for MatcherRouter<((M_T1, T1), (M_T2, T2), (M_T3, T3), (M_T4, T4), (M_T5, T5), (M_T6, T6), (M_T7, T7), S)>
where Request: Send + 'static, Response: Send + 'static, M_T1: Matcher<Request>, T1: Service<Request, Response = Response, Error = Error>, M_T2: Matcher<Request>, T2: Service<Request, Response = Response, Error = Error>, M_T3: Matcher<Request>, T3: Service<Request, Response = Response, Error = Error>, M_T4: Matcher<Request>, T4: Service<Request, Response = Response, Error = Error>, M_T5: Matcher<Request>, T5: Service<Request, Response = Response, Error = Error>, M_T6: Matcher<Request>, T6: Service<Request, Response = Response, Error = Error>, M_T7: Matcher<Request>, T7: Service<Request, Response = Response, Error = Error>, S: Service<Request, Response = Response, Error = Error>, Error: Send + 'static,

§

type Response = Response

§

type Error = Error

§

impl<M_T1, T1, M_T2, T2, M_T3, T3, M_T4, T4, M_T5, T5, M_T6, T6, S, Request, Response, Error> Service<Request> for MatcherRouter<((M_T1, T1), (M_T2, T2), (M_T3, T3), (M_T4, T4), (M_T5, T5), (M_T6, T6), S)>
where Request: Send + 'static, Response: Send + 'static, M_T1: Matcher<Request>, T1: Service<Request, Response = Response, Error = Error>, M_T2: Matcher<Request>, T2: Service<Request, Response = Response, Error = Error>, M_T3: Matcher<Request>, T3: Service<Request, Response = Response, Error = Error>, M_T4: Matcher<Request>, T4: Service<Request, Response = Response, Error = Error>, M_T5: Matcher<Request>, T5: Service<Request, Response = Response, Error = Error>, M_T6: Matcher<Request>, T6: Service<Request, Response = Response, Error = Error>, S: Service<Request, Response = Response, Error = Error>, Error: Send + 'static,

§

type Response = Response

§

type Error = Error

§

impl<M_T1, T1, M_T2, T2, M_T3, T3, M_T4, T4, M_T5, T5, S, Request, Response, Error> Service<Request> for MatcherRouter<((M_T1, T1), (M_T2, T2), (M_T3, T3), (M_T4, T4), (M_T5, T5), S)>
where Request: Send + 'static, Response: Send + 'static, M_T1: Matcher<Request>, T1: Service<Request, Response = Response, Error = Error>, M_T2: Matcher<Request>, T2: Service<Request, Response = Response, Error = Error>, M_T3: Matcher<Request>, T3: Service<Request, Response = Response, Error = Error>, M_T4: Matcher<Request>, T4: Service<Request, Response = Response, Error = Error>, M_T5: Matcher<Request>, T5: Service<Request, Response = Response, Error = Error>, S: Service<Request, Response = Response, Error = Error>, Error: Send + 'static,

§

type Response = Response

§

type Error = Error

§

impl<M_T1, T1, M_T2, T2, M_T3, T3, M_T4, T4, S, Request, Response, Error> Service<Request> for MatcherRouter<((M_T1, T1), (M_T2, T2), (M_T3, T3), (M_T4, T4), S)>
where Request: Send + 'static, Response: Send + 'static, M_T1: Matcher<Request>, T1: Service<Request, Response = Response, Error = Error>, M_T2: Matcher<Request>, T2: Service<Request, Response = Response, Error = Error>, M_T3: Matcher<Request>, T3: Service<Request, Response = Response, Error = Error>, M_T4: Matcher<Request>, T4: Service<Request, Response = Response, Error = Error>, S: Service<Request, Response = Response, Error = Error>, Error: Send + 'static,

§

type Response = Response

§

type Error = Error

§

impl<M_T1, T1, M_T2, T2, M_T3, T3, S, Request, Response, Error> Service<Request> for MatcherRouter<((M_T1, T1), (M_T2, T2), (M_T3, T3), S)>
where Request: Send + 'static, Response: Send + 'static, M_T1: Matcher<Request>, T1: Service<Request, Response = Response, Error = Error>, M_T2: Matcher<Request>, T2: Service<Request, Response = Response, Error = Error>, M_T3: Matcher<Request>, T3: Service<Request, Response = Response, Error = Error>, S: Service<Request, Response = Response, Error = Error>, Error: Send + 'static,

§

type Response = Response

§

type Error = Error

§

impl<M_T1, T1, M_T2, T2, S, Request, Response, Error> Service<Request> for MatcherRouter<((M_T1, T1), (M_T2, T2), S)>
where Request: Send + 'static, Response: Send + 'static, M_T1: Matcher<Request>, T1: Service<Request, Response = Response, Error = Error>, M_T2: Matcher<Request>, T2: Service<Request, Response = Response, Error = Error>, S: Service<Request, Response = Response, Error = Error>, Error: Send + 'static,

§

type Response = Response

§

type Error = Error

§

impl<M_T1, T1, S, Request, Response, Error> Service<Request> for MatcherRouter<((M_T1, T1), S)>
where Request: Send + 'static, Response: Send + 'static, M_T1: Matcher<Request>, T1: Service<Request, Response = Response, Error = Error>, S: Service<Request, Response = Response, Error = Error>, Error: Send + 'static,

§

type Response = Response

§

type Error = Error

§

impl<P, S, Body> Service<Request<Body>> for Retry<P, S>
where P: Policy<<S as Service<Request<RetryBody>>>::Response, <S as Service<Request<RetryBody>>>::Error>, S: Service<Request<RetryBody>>, <S as Service<Request<RetryBody>>>::Error: Into<Box<dyn Error + Sync + Send>>, Body: Body + Send + 'static, <Body as Body>::Data: Send + 'static, <Body as Body>::Error: Into<Box<dyn Error + Sync + Send>>,

§

impl<R> Service<Request<Body>> for StaticService<R>
where R: IntoResponse + Clone + Send + Sync + 'static,

§

impl<ReqBody> Service<Request<ReqBody>> for UserAgentEmulateHttpConnectModifier
where ReqBody: Send + 'static,

§

type Error = Box<dyn Error + Sync + Send>

§

type Response = (Context, Request<ReqBody>)

§

impl<ReqBody> Service<Request<ReqBody>> for UserAgentEmulateHttpRequestModifier
where ReqBody: Send + 'static,

§

type Error = Box<dyn Error + Sync + Send>

§

type Response = (Context, Request<ReqBody>)

§

impl<ReqBody> Service<Request<ReqBody>> for HttpVersionAdapter
where ReqBody: Send + 'static,

§

type Error = Box<dyn Error + Sync + Send>

§

type Response = (Context, Request<ReqBody>)

§

impl<ReqBody> Service<Request<ReqBody>> for HttpsAlpnModifier
where ReqBody: Send + 'static,

§

type Error = Box<dyn Error + Sync + Send>

§

type Response = (Context, Request<ReqBody>)

§

impl<ReqBody> Service<Request<ReqBody>> for DefaultServeDirFallback
where ReqBody: Send + 'static,

§

impl<ReqBody> Service<Request<ReqBody>> for ServeFile
where ReqBody: Send + 'static,

§

type Error = <ServeDir as Service<Request<ReqBody>>>::Error

§

type Response = <ServeDir as Service<Request<ReqBody>>>::Response

§

impl<ReqBody, F, FResBody> Service<Request<ReqBody>> for ServeDir<F>
where ReqBody: Send + 'static, F: Service<Request<ReqBody>, Response = Response<FResBody>, Error = Infallible> + Clone, FResBody: Body<Data = Bytes> + Send + Sync + 'static, <FResBody as Body>::Error: Into<Box<dyn Error + Sync + Send>>,

§

impl<ReqBody, ResBody, S> Service<Request<ReqBody>> for CompressAdaptService<S>
where S: Service<Request<ReqBody>, Response = Response<ResBody>>, ResBody: Body + Send + 'static, <ResBody as Body>::Data: Send + 'static, <ResBody as Body>::Error: Into<Box<dyn Error + Sync + Send>> + Send + Sync + 'static, ReqBody: Send + 'static,

§

impl<ReqBody, ResBody, S> Service<Request<ReqBody>> for PropagateHeader<S>
where S: Service<Request<ReqBody>, Response = Response<ResBody>>, ReqBody: Send + 'static, ResBody: Send + 'static,

§

type Response = <S as Service<Request<ReqBody>>>::Response

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<ReqBody, ResBody, S> Service<Request<ReqBody>> for RemoveRequestHeader<S>
where ReqBody: Send + 'static, ResBody: Send + 'static, S: Service<Request<ReqBody>, Response = Response<ResBody>>,

§

type Response = <S as Service<Request<ReqBody>>>::Response

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<ReqBody, ResBody, S> Service<Request<ReqBody>> for RemoveResponseHeader<S>
where ReqBody: Send + 'static, ResBody: Send + 'static, S: Service<Request<ReqBody>, Response = Response<ResBody>>,

§

type Response = <S as Service<Request<ReqBody>>>::Response

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<ReqBody, ResBody, S> Service<Request<ReqBody>> for AddRequiredRequestHeaders<S>
where ReqBody: Send + 'static, ResBody: Send + 'static, S: Service<Request<ReqBody>, Response = Response<ResBody>>, <S as Service<Request<ReqBody>>>::Error: Into<Box<dyn Error + Sync + Send>>,

§

type Response = <S as Service<Request<ReqBody>>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<ReqBody, ResBody, S> Service<Request<ReqBody>> for AddRequiredResponseHeaders<S>
where ReqBody: Send + 'static, ResBody: Send + 'static, S: Service<Request<ReqBody>, Response = Response<ResBody>>,

§

type Response = <S as Service<Request<ReqBody>>>::Response

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<ReqBody, ResBody, S> Service<Request<ReqBody>> for SetSensitiveRequestHeaders<S>
where S: Service<Request<ReqBody>, Response = Response<ResBody>>, ReqBody: Send + 'static, ResBody: Send + 'static,

§

type Response = <S as Service<Request<ReqBody>>>::Response

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<ReqBody, ResBody, S> Service<Request<ReqBody>> for SetSensitiveResponseHeaders<S>
where S: Service<Request<ReqBody>, Response = Response<ResBody>>, ReqBody: Send + 'static, ResBody: Send + 'static,

§

type Response = <S as Service<Request<ReqBody>>>::Response

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<ReqBody, ResBody, S, M> Service<Request<ReqBody>> for SetRequestHeader<S, M>
where ReqBody: Send + 'static, ResBody: Send + 'static, S: Service<Request<ReqBody>, Response = Response<ResBody>>, M: MakeHeaderValue<ReqBody>,

§

type Response = <S as Service<Request<ReqBody>>>::Response

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<ReqBody, ResBody, S, M> Service<Request<ReqBody>> for SetResponseHeader<S, M>
where ReqBody: Send + 'static, ResBody: Send + 'static, S: Service<Request<ReqBody>, Response = Response<ResBody>>, M: MakeHeaderValueFactory<ReqBody, ResBody>,

§

type Response = <S as Service<Request<ReqBody>>>::Response

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<ReqBody, ResBody, S, P> Service<Request<ReqBody>> for Compression<S, P>
where S: Service<Request<ReqBody>, Response = Response<ResBody>>, ResBody: Body + Send + 'static, <ResBody as Body>::Data: Send + 'static, <ResBody as Body>::Error: Send + 'static, P: Predicate + Send + Sync + 'static, ReqBody: Send + 'static,

§

type Response = Response<CompressionBody<ResBody>>

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<ReqBody, ResBody, S, P> Service<Request<ReqBody>> for FollowRedirect<S, P>
where S: Service<Request<ReqBody>, Response = Response<ResBody>>, ReqBody: Body + Default + Send + 'static, ResBody: Send + 'static, P: Policy<ReqBody, <S as Service<Request<ReqBody>>>::Error> + Clone,

§

type Response = Response<ResBody>

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<ReqBody, ResBody, S, V> Service<Request<ReqBody>> for ValidateRequestHeader<S, V>
where ReqBody: Send + 'static, ResBody: Send + 'static, V: ValidateRequest<ReqBody, ResponseBody = ResBody>, S: Service<Request<ReqBody>, Response = Response<ResBody>>,

§

type Response = Response<ResBody>

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<Request, C, ID> Service<Request> for LeasedConnection<C, ID>
where ID: Send + Sync + Debug + 'static, C: Service<Request>, Request: Send + 'static,

§

type Response = <C as Service<Request>>::Response

§

type Error = <C as Service<Request>>::Error

§

impl<Request, ConnectorFactory> Service<Request> for UnixConnector<ConnectorFactory>
where Request: Send + 'static, ConnectorFactory: UnixStreamConnectorFactory + Clone, <ConnectorFactory as UnixStreamConnectorFactory>::Connector: UnixStreamConnector, <<ConnectorFactory as UnixStreamConnectorFactory>::Connector as UnixStreamConnector>::Error: Into<Box<dyn Error + Sync + Send>> + Send + 'static, <ConnectorFactory as UnixStreamConnectorFactory>::Error: Into<Box<dyn Error + Sync + Send>> + Send + 'static,

§

impl<Request, Dns, ConnectorFactory> Service<Request> for TcpConnector<Dns, ConnectorFactory>
where Request: TryRefIntoTransportContext + Send + 'static, <Request as TryRefIntoTransportContext>::Error: Into<Box<dyn Error + Sync + Send>> + Send + Sync + 'static, Dns: DnsResolver + Clone, ConnectorFactory: TcpStreamConnectorFactory + Clone, <ConnectorFactory as TcpStreamConnectorFactory>::Connector: TcpStreamConnector, <<ConnectorFactory as TcpStreamConnectorFactory>::Connector as TcpStreamConnector>::Error: Into<Box<dyn Error + Sync + Send>> + Send + 'static, <ConnectorFactory as TcpStreamConnectorFactory>::Error: Into<Box<dyn Error + Sync + Send>> + Send + 'static,

§

impl<Request, F, T, R, O, E> Service<Request> for ServiceFn<F, T, R, O, E>
where F: Factory<T, R, O, E>, R: Future<Output = Result<O, E>> + Send + 'static, T: FromContextRequest<Request>, O: Send + 'static, E: Send + Sync + 'static,

§

type Response = O

§

type Error = E

§

impl<Request, Response, Error> Service<Request> for BoxService<Request, Response, Error>
where Request: 'static, Response: Send + 'static, Error: Send + 'static,

§

type Response = Response

§

type Error = Error

§

impl<Request, Response, Error> Service<Request> for RejectService<Response, Error>
where Request: 'static, Response: Send + 'static, Error: Clone + Send + Sync + 'static,

§

type Response = Response

§

type Error = Error

Source§

impl<Request, S> Service<Request> for ProxyConnector<S>
where S: ConnectorService<Request, Connection: Stream + Unpin, Error: Into<BoxError>>, Request: TryRefIntoTransportContext<Error: Into<BoxError> + Send + 'static> + Send + 'static,

§

impl<Request, S, P, R> Service<Request> for PooledConnector<S, P, R>
where S: ConnectorService<Request>, <S as ConnectorService<Request>>::Connection: Send, <S as ConnectorService<Request>>::Error: Send + 'static, Request: Send + 'static, P: Pool<<S as ConnectorService<Request>>::Connection, <R as ReqToConnID<Request>>::ID>, R: ReqToConnID<Request>,

§

type Response = EstablishedClientConnection<<P as Pool<<S as ConnectorService<Request>>::Connection, <R as ReqToConnID<Request>>::ID>>::Connection, Request>

§

type Error = Box<dyn Error + Sync + Send>

§

impl<Request, S, T> Service<Request> for AddExtension<S, T>
where Request: Send + 'static, S: Service<Request>, T: Clone + Send + Sync + 'static,

§

type Response = <S as Service<Request>>::Response

§

type Error = <S as Service<Request>>::Error

§

impl<Request, S, T, Fut, F> Service<Request> for GetExtension<S, T, Fut, F>
where Request: Send + 'static, S: Service<Request>, T: Clone + Send + Sync + 'static, F: Fn(T) -> Fut + Send + Sync + 'static, Fut: Future<Output = ()> + Send + 'static,

§

type Response = <S as Service<Request>>::Response

§

type Error = <S as Service<Request>>::Error

§

impl<S> Service<S> for rama::net::stream::service::EchoService
where S: Stream + 'static,

§

type Response = u64

§

type Error = Box<dyn Error + Sync + Send>

§

impl<S, Body> Service<Request<Body>> for SetProxyAuthHttpHeaderService<S>
where S: Service<Request<Body>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = <S as Service<Request<Body>>>::Error

§

impl<S, Body> Service<Request<Body>> for ErrorHandler<S>
where S: Service<Request<Body>>, <S as Service<Request<Body>>>::Response: IntoResponse, <S as Service<Request<Body>>>::Error: IntoResponse, Body: Send + 'static,

§

impl<S, Body> Service<Request<Body>> for UserAgentClassifier<S>
where S: Service<Request<Body>>,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = <S as Service<Request<Body>>>::Error

§

impl<S, Body> Service<Request<Body>> for WebSocketAcceptorService<S>
where S: Clone + Service<ServerWebSocket, Response = ()>, Body: Send + 'static,

§

impl<S, D, P, F, Request> Service<Request> for ProxyDBService<S, D, P, F>
where S: Service<Request>, <S as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>> + Send + Sync + 'static, D: ProxyDB, <D as ProxyDB>::Error: Into<Box<dyn Error + Sync + Send>> + Send + Sync + 'static, P: ProxyQueryPredicate, F: UsernameFormatter, Request: TryRefIntoTransportContext + Send + 'static, <Request as TryRefIntoTransportContext>::Error: Into<Box<dyn Error + Sync + Send>> + Send + 'static,

§

type Response = <S as Service<Request>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<S, F, Body> Service<Request<Body>> for RequestMetricsService<S, F>
where S: Service<Request<Body>>, <S as Service<Request<Body>>>::Response: IntoResponse, F: AttributesFactory, Body: Body<Data = Bytes> + Send + Sync + 'static, <Body as Body>::Error: Into<Box<dyn Error + Sync + Send>>,

§

impl<S, F, R1, R2> Service<R1> for MapRequest<S, F>
where S: Service<R2>, F: Fn(R1) -> R2 + Send + Sync + 'static,

§

type Response = <S as Service<R2>>::Response

§

type Error = <S as Service<R2>>::Error

§

impl<S, F, R, Body> Service<Request<Body>> for ErrorHandler<S, F>
where S: Service<Request<Body>>, <S as Service<Request<Body>>>::Response: IntoResponse, F: Fn(<S as Service<Request<Body>>>::Error) -> R + Clone + Send + Sync + 'static, R: IntoResponse + 'static, Body: Send + 'static,

§

impl<S, F, Request> Service<Request> for ConsumeErr<S, F>
where S: Service<Request>, <S as Service<Request>>::Response: Default, F: Fn(<S as Service<Request>>::Error) + Send + Sync + 'static, Request: Send + 'static,

§

type Response = <S as Service<Request>>::Response

§

type Error = Infallible

§

impl<S, F, Request, Error> Service<Request> for MapErr<S, F>
where S: Service<Request>, F: Fn(<S as Service<Request>>::Error) -> Error + Send + Sync + 'static, Request: Send + 'static, Error: Send + 'static,

§

type Response = <S as Service<Request>>::Response

§

type Error = Error

§

impl<S, F, Request, R> Service<Request> for ConsumeErr<S, F, StaticResponse<R>>
where S: Service<Request>, F: Fn(<S as Service<Request>>::Error) + Send + Sync + 'static, R: Into<<S as Service<Request>>::Response> + Clone + Send + Sync + 'static, Request: Send + 'static,

§

type Response = <S as Service<Request>>::Response

§

type Error = Infallible

§

impl<S, F, Request, Response> Service<Request> for MapResponse<S, F>
where S: Service<Request>, F: Fn(<S as Service<Request>>::Response) -> Response + Send + Sync + 'static, Request: Send + 'static, Response: Send + 'static,

§

type Response = Response

§

type Error = <S as Service<Request>>::Error

§

impl<S, F, Request, Response, Error> Service<Request> for MapResult<S, F>
where S: Service<Request>, F: Fn(Result<<S as Service<Request>>::Response, <S as Service<Request>>::Error>) -> Result<Response, Error> + Send + Sync + 'static, Request: Send + 'static, Response: Send + 'static, Error: Send + 'static,

§

type Response = Response

§

type Error = Error

§

impl<S, F, Stream> Service<Stream> for NetworkMetricsService<S, F>
where S: Service<Stream>, F: AttributesFactory, Stream: Stream,

§

type Response = <S as Service<Stream>>::Response

§

type Error = <S as Service<Stream>>::Error

§

impl<S, H, Body> Service<Request<Body>> for SetForwardedHeaderService<S, H>
where S: Service<Request<Body>>, <S as Service<Request<Body>>>::Error: Into<Box<dyn Error + Sync + Send>>, H: ForwardHeader + Send + Sync + 'static, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<S, H, M, Request> Service<Request> for HijackService<S, H, M>
where S: Service<Request>, H: Service<Request>, <H as Service<Request>>::Response: Into<<S as Service<Request>>::Response>, <H as Service<Request>>::Error: Into<<S as Service<Request>>::Error>, M: Matcher<Request>, Request: Send + 'static,

§

type Response = <S as Service<Request>>::Response

§

type Error = <S as Service<Request>>::Error

§

impl<S, I1, I2, BodyIn, BodyOut> Service<Request<BodyIn>> for HttpConnector<S, I1, I2>
where I1: RequestInspector<Request<BodyIn>, RequestOut = Request<BodyIn>>, <I1 as RequestInspector<Request<BodyIn>>>::Error: Into<Box<dyn Error + Sync + Send>>, I2: RequestInspector<Request<BodyIn>, RequestOut = Request<BodyOut>> + Clone, <I2 as RequestInspector<Request<BodyIn>>>::Error: Into<Box<dyn Error + Sync + Send>>, S: ConnectorService<Request<BodyIn>>, <S as ConnectorService<Request<BodyIn>>>::Connection: Stream + Unpin, <S as ConnectorService<Request<BodyIn>>>::Error: Into<Box<dyn Error + Sync + Send>>, BodyIn: Body + Unpin + Send + 'static, <BodyIn as Body>::Data: Send + 'static, <BodyIn as Body>::Error: Into<Box<dyn Error + Sync + Send>>, BodyOut: Body + Unpin + Send + 'static, <BodyOut as Body>::Data: Send + 'static, <BodyOut as Body>::Error: Into<Box<dyn Error + Sync + Send>>,

§

impl<S, IO> Service<IO> for rama::net::stream::layer::http::BodyLimitService<S>
where S: Service<IO>, IO: Stream,

§

type Response = <S as Service<IO>>::Response

§

type Error = <S as Service<IO>>::Error

§

impl<S, IO> Service<IO> for IncomingBytesTrackerService<S>
where S: Service<BytesRWTracker<IO>>, IO: Stream,

§

type Response = <S as Service<BytesRWTracker<IO>>>::Response

§

type Error = <S as Service<BytesRWTracker<IO>>>::Error

§

impl<S, IO> Service<IO> for rama::proxy::haproxy::server::HaProxyService<S>
where S: Service<PeekStream<HeapReader, IO>>, <S as Service<PeekStream<HeapReader, IO>>>::Error: Into<Box<dyn Error + Sync + Send>>, IO: Stream + Unpin,

§

impl<S, IO> Service<IO> for rama::tls::boring::server::TlsAcceptorService<S>
where IO: Stream + Unpin + 'static, S: Service<SslStream<IO>>, <S as Service<SslStream<IO>>>::Error: Into<Box<dyn Error + Sync + Send>>,

§

type Response = <S as Service<SslStream<IO>>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<S, IO> Service<IO> for rama::tls::rustls::server::TlsAcceptorService<S>
where IO: Stream + Unpin + 'static, S: Service<TlsStream<IO>>, <S as Service<TlsStream<IO>>>::Error: Into<Box<dyn Error + Sync + Send>>,

§

type Response = <S as Service<TlsStream<IO>>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<S, L, Request> Service<Request> for MaybeLayeredService<S, L>
where S: Service<Request>, <S as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, L: Layer<S> + 'static, <L as Layer<S>>::Service: Service<Request, Response = <S as Service<Request>>::Response>, <<L as Layer<S>>::Service as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: Send + 'static,

§

type Error = Box<dyn Error + Sync + Send>

§

type Response = <S as Service<Request>>::Response

§

impl<S, M, ReqBody, ResBody> Service<Request<ReqBody>> for SetRequestId<S, M>
where S: Service<Request<ReqBody>, Response = Response<ResBody>>, M: MakeRequestId, ReqBody: Send + 'static, ResBody: Send + 'static,

§

type Response = <S as Service<Request<ReqBody>>>::Response

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<S, O, E> Service<Request<Body>> for UpgradeService<S, O>
where S: Service<Request<Body>, Response = O, Error = E>, O: Send + Sync + 'static, E: Send + Sync + 'static,

§

type Response = O

§

type Error = E

§

impl<S, P, Request> Service<Request> for rama::proxy::haproxy::client::HaProxyService<S, P, One>
where S: ConnectorService<Request>, <S as ConnectorService<Request>>::Connection: Stream + Socket + Unpin, <S as ConnectorService<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, P: Send + 'static, Request: Send + 'static,

§

impl<S, P, Request, T> Service<Request> for rama::proxy::haproxy::client::HaProxyService<S, P>
where S: Service<Request, Response = EstablishedClientConnection<T, Request>>, <S as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, P: Protocol + Send + 'static, Request: Send + 'static, T: Stream + Socket + Unpin,

§

type Response = EstablishedClientConnection<T, Request>

§

type Error = Box<dyn Error + Sync + Send>

§

impl<S, ReqBody> Service<Request<ReqBody>> for rama::http::layer::body_limit::BodyLimitService<S>
where S: Service<Request<Body>>, ReqBody: Body<Data = Bytes> + Send + Sync + 'static, <ReqBody as Body>::Error: Into<Box<dyn Error + Sync + Send>>,

§

impl<S, ReqBody> Service<Request<ReqBody>> for RequestBodyTimeout<S>
where S: Service<Request<TimeoutBody<ReqBody>>>, ReqBody: Send + 'static,

§

type Response = <S as Service<Request<TimeoutBody<ReqBody>>>>::Response

§

type Error = <S as Service<Request<TimeoutBody<ReqBody>>>>::Error

§

impl<S, ReqBody, ResBody> Service<Request<ReqBody>> for AddAuthorization<S>
where S: Service<Request<ReqBody>, Response = Response<ResBody>>, ReqBody: Send + 'static, ResBody: Send + 'static,

§

type Response = <S as Service<Request<ReqBody>>>::Response

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<S, ReqBody, ResBody> Service<Request<ReqBody>> for CollectBody<S>
where S: Service<Request<ReqBody>, Response = Response<ResBody>>, <S as Service<Request<ReqBody>>>::Error: Into<Box<dyn Error + Sync + Send>>, ReqBody: Send + 'static, ResBody: Body + Send + Sync + 'static, <ResBody as Body>::Data: Send, <ResBody as Body>::Error: Error + Send + Sync + 'static,

§

type Response = Response<Body>

§

type Error = Box<dyn Error + Sync + Send>

§

impl<S, ReqBody, ResBody> Service<Request<ReqBody>> for Cors<S>
where S: Service<Request<ReqBody>, Response = Response<ResBody>>, ReqBody: Send + 'static, ResBody: Default + Send + 'static,

§

type Response = <S as Service<Request<ReqBody>>>::Response

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<S, ReqBody, ResBody> Service<Request<ReqBody>> for Decompression<S>
where S: Service<Request<ReqBody>, Response = Response<ResBody>>, ReqBody: Send + 'static, ResBody: Body + Send + 'static, <ResBody as Body>::Data: Send + 'static, <ResBody as Body>::Error: Send + 'static,

§

type Response = Response<DecompressionBody<ResBody>>

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<S, ReqBody, ResBody> Service<Request<ReqBody>> for NormalizePath<S>
where S: Service<Request<ReqBody>, Response = Response<ResBody>>, ReqBody: Send + 'static, ResBody: Send + 'static,

§

type Response = <S as Service<Request<ReqBody>>>::Response

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<S, ReqBody, ResBody> Service<Request<ReqBody>> for PropagateRequestId<S>
where S: Service<Request<ReqBody>, Response = Response<ResBody>>, ReqBody: Send + 'static, ResBody: Send + 'static,

§

type Response = <S as Service<Request<ReqBody>>>::Response

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<S, ReqBody, ResBody> Service<Request<ReqBody>> for SetStatus<S>
where S: Service<Request<ReqBody>, Response = Response<ResBody>>, ReqBody: Send + 'static, ResBody: Send + 'static,

§

type Response = <S as Service<Request<ReqBody>>>::Response

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<S, ReqBody, ResBody> Service<Request<ReqBody>> for ResponseBodyTimeout<S>
where S: Service<Request<ReqBody>, Response = Response<ResBody>>, ReqBody: Send + 'static, ResBody: Default + Send + 'static,

§

type Response = Response<TimeoutBody<ResBody>>

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<S, ReqBody, ResBody> Service<Request<ReqBody>> for rama::http::layer::timeout::Timeout<S>
where S: Service<Request<ReqBody>, Response = Response<ResBody>>, ReqBody: Send + 'static, ResBody: Default + Send + 'static,

§

type Response = <S as Service<Request<ReqBody>>>::Response

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<S, ReqBody, ResBody, D> Service<Request<ReqBody>> for RequestDecompression<S>
where S: Service<Request<DecompressionBody<ReqBody>>, Response = Response<ResBody>>, <S as Service<Request<DecompressionBody<ReqBody>>>>::Error: Into<Box<dyn Error + Sync + Send>>, ReqBody: Body + Send + 'static, ResBody: Body<Data = D> + Send + 'static, <ResBody as Body>::Error: Into<Box<dyn Error + Sync + Send>>, D: Buf + 'static,

§

type Response = Response<UnsyncBoxBody<D, Box<dyn Error + Sync + Send>>>

§

type Error = Box<dyn Error + Sync + Send>

§

impl<S, ReqBody, ResBody, M, OnRequestT, OnResponseT, OnFailureT, OnBodyChunkT, OnEosT, MakeSpanT> Service<Request<ReqBody>> for Trace<S, M, MakeSpanT, OnRequestT, OnResponseT, OnBodyChunkT, OnEosT, OnFailureT>
where S: Service<Request<ReqBody>, Response = Response<ResBody>>, <S as Service<Request<ReqBody>>>::Error: Display, ReqBody: Body + Send + 'static, ResBody: Body + Send + Sync + 'static, <ResBody as Body>::Error: Display, M: MakeClassifier, <M as MakeClassifier>::Classifier: Clone, MakeSpanT: MakeSpan<ReqBody>, OnRequestT: OnRequest<ReqBody>, OnResponseT: OnResponse<ResBody> + Clone, OnBodyChunkT: OnBodyChunk<<ResBody as Body>::Data> + Clone, OnEosT: OnEos + Clone, OnFailureT: OnFailure<<M as MakeClassifier>::FailureClass> + Clone,

§

type Response = Response<ResponseBody<ResBody, <M as MakeClassifier>::ClassifyEos, OnBodyChunkT, OnEosT, OnFailureT>>

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<S, Request> Service<Request> for Box<S>
where S: Service<Request>,

§

type Response = <S as Service<Request>>::Response

§

type Error = <S as Service<Request>>::Error

§

impl<S, Request> Service<Request> for ConsumeErr<S, Trace>
where S: Service<Request>, <S as Service<Request>>::Response: Default, <S as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: Send + 'static,

§

type Response = <S as Service<Request>>::Response

§

type Error = Infallible

§

impl<S, Request> Service<Request> for TraceErr<S>
where Request: Send + 'static, S: Service<Request>, <S as Service<Request>>::Error: Display + Send + Sync + 'static,

§

type Response = <S as Service<Request>>::Response

§

type Error = <S as Service<Request>>::Error

§

impl<S, Request> Service<Request> for OutgoingBytesTrackerService<S>
where S: ConnectorService<Request>, <S as ConnectorService<Request>>::Connection: Stream + Unpin, <S as ConnectorService<Request>>::Error: Send + 'static, Request: Send + 'static,

§

type Response = EstablishedClientConnection<BytesRWTracker<<S as ConnectorService<Request>>::Connection>, Request>

§

type Error = <S as ConnectorService<Request>>::Error

§

impl<S, Request> Service<Request> for Socks5ProxyConnector<S>
where S: ConnectorService<Request>, <S as ConnectorService<Request>>::Connection: Stream + Unpin, <S as ConnectorService<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: TryRefIntoTransportContext + Send + 'static, <Request as TryRefIntoTransportContext>::Error: Into<Box<dyn Error + Sync + Send>> + Send + 'static,

§

impl<S, Request> Service<Request> for EmulateTlsProfileService<S>
where Request: TryRefIntoTransportContext + Send + 'static, <Request as TryRefIntoTransportContext>::Error: Into<Box<dyn Error + Sync + Send>>, S: Service<Request>, <S as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>,

§

type Response = <S as Service<Request>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<S, Request> Service<Request> for rama::tls::boring::client::TlsConnector<S>
where S: ConnectorService<Request>, <S as ConnectorService<Request>>::Connection: Stream + Unpin, <S as ConnectorService<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: TryRefIntoTransportContext + Send + 'static, <Request as TryRefIntoTransportContext>::Error: Into<Box<dyn Error + Sync + Send>> + Send + 'static,

§

impl<S, Request> Service<Request> for rama::tls::boring::client::TlsConnector<S, ConnectorKindSecure>
where S: ConnectorService<Request>, <S as ConnectorService<Request>>::Connection: Stream + Unpin, <S as ConnectorService<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: TryRefIntoTransportContext + Send + 'static, <Request as TryRefIntoTransportContext>::Error: Into<Box<dyn Error + Sync + Send>> + Send + 'static,

§

impl<S, Request> Service<Request> for rama::tls::boring::client::TlsConnector<S, ConnectorKindTunnel>
where S: ConnectorService<Request>, <S as ConnectorService<Request>>::Connection: Stream + Unpin, <S as ConnectorService<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: Send + 'static,

§

impl<S, Request> Service<Request> for rama::tls::rustls::client::TlsConnector<S>
where S: ConnectorService<Request>, <S as ConnectorService<Request>>::Connection: Stream + Unpin, <S as ConnectorService<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: TryRefIntoTransportContext + Send + 'static, <Request as TryRefIntoTransportContext>::Error: Into<Box<dyn Error + Sync + Send>> + Send + 'static,

§

impl<S, Request> Service<Request> for rama::tls::rustls::client::TlsConnector<S, ConnectorKindSecure>
where S: ConnectorService<Request>, <S as ConnectorService<Request>>::Connection: Stream + Unpin, <S as ConnectorService<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: TryRefIntoTransportContext + Send + 'static, <Request as TryRefIntoTransportContext>::Error: Into<Box<dyn Error + Sync + Send>> + Send + 'static,

§

impl<S, Request> Service<Request> for rama::tls::rustls::client::TlsConnector<S, ConnectorKindTunnel>
where S: ConnectorService<Request>, <S as ConnectorService<Request>>::Connection: Stream + Unpin, <S as ConnectorService<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: Send + 'static,

§

impl<S, Request> Service<Request> for HttpProxyAddressService<S>
where S: Service<Request>,

§

type Response = <S as Service<Request>>::Response

§

type Error = <S as Service<Request>>::Error

§

impl<S, Request> Service<Request> for HttpProxyConnector<S>
where S: ConnectorService<Request>, <S as ConnectorService<Request>>::Connection: Stream + Unpin, <S as ConnectorService<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: TryRefIntoTransportContext + Send + 'static, <Request as TryRefIntoTransportContext>::Error: Into<Box<dyn Error + Sync + Send>> + Send + 'static,

§

impl<S, Request, Error, Server> Service<Request> for MockConnectorService<S>
where S: Fn() -> Server + Send + Sync + 'static, Server: Service<MockSocket, Error = Error>, Request: Send + 'static, Error: Debug + 'static,

§

type Error = Infallible

§

type Response = EstablishedClientConnection<MockSocket, Request>

§

impl<S, Request, R> Service<Request> for ConsumeErr<S, Trace, StaticResponse<R>>
where S: Service<Request>, <S as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, R: Into<<S as Service<Request>>::Response> + Clone + Send + Sync + 'static, Request: Send + 'static,

§

type Response = <S as Service<Request>>::Response

§

type Error = Infallible

§

impl<S, Request, Svc> Service<Request> for BoxedConnectorService<S>
where S: Service<Request, Response = EstablishedClientConnection<Svc, Request>>, <S as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Svc: Service<Request>, Request: Send + 'static,

§

type Response = EstablishedClientConnection<BoxService<Request, <Svc as Service<Request>>::Response, <Svc as Service<Request>>::Error>, Request>

§

type Error = <S as Service<Request>>::Error

§

impl<S, T1, Body> Service<Request<Body>> for SetForwardedHeadersService<S, (T1,)>
where T1: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, <S as Service<Request<Body>>>::Error: Into<Box<dyn Error + Sync + Send>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<S, T1, T2, Body> Service<Request<Body>> for SetForwardedHeadersService<S, (T1, T2)>
where T1: ForwardHeader + Send + Sync + 'static, T2: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, <S as Service<Request<Body>>>::Error: Into<Box<dyn Error + Sync + Send>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<S, T1, T2, T3, Body> Service<Request<Body>> for SetForwardedHeadersService<S, (T1, T2, T3)>
where T1: ForwardHeader + Send + Sync + 'static, T2: ForwardHeader + Send + Sync + 'static, T3: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, <S as Service<Request<Body>>>::Error: Into<Box<dyn Error + Sync + Send>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<S, T1, T2, T3, T4, Body> Service<Request<Body>> for SetForwardedHeadersService<S, (T1, T2, T3, T4)>
where T1: ForwardHeader + Send + Sync + 'static, T2: ForwardHeader + Send + Sync + 'static, T3: ForwardHeader + Send + Sync + 'static, T4: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, <S as Service<Request<Body>>>::Error: Into<Box<dyn Error + Sync + Send>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<S, T1, T2, T3, T4, T5, Body> Service<Request<Body>> for SetForwardedHeadersService<S, (T1, T2, T3, T4, T5)>
where T1: ForwardHeader + Send + Sync + 'static, T2: ForwardHeader + Send + Sync + 'static, T3: ForwardHeader + Send + Sync + 'static, T4: ForwardHeader + Send + Sync + 'static, T5: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, <S as Service<Request<Body>>>::Error: Into<Box<dyn Error + Sync + Send>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<S, T1, T2, T3, T4, T5, T6, Body> Service<Request<Body>> for SetForwardedHeadersService<S, (T1, T2, T3, T4, T5, T6)>
where T1: ForwardHeader + Send + Sync + 'static, T2: ForwardHeader + Send + Sync + 'static, T3: ForwardHeader + Send + Sync + 'static, T4: ForwardHeader + Send + Sync + 'static, T5: ForwardHeader + Send + Sync + 'static, T6: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, <S as Service<Request<Body>>>::Error: Into<Box<dyn Error + Sync + Send>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<S, T1, T2, T3, T4, T5, T6, T7, Body> Service<Request<Body>> for SetForwardedHeadersService<S, (T1, T2, T3, T4, T5, T6, T7)>
where T1: ForwardHeader + Send + Sync + 'static, T2: ForwardHeader + Send + Sync + 'static, T3: ForwardHeader + Send + Sync + 'static, T4: ForwardHeader + Send + Sync + 'static, T5: ForwardHeader + Send + Sync + 'static, T6: ForwardHeader + Send + Sync + 'static, T7: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, <S as Service<Request<Body>>>::Error: Into<Box<dyn Error + Sync + Send>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<S, T1, T2, T3, T4, T5, T6, T7, T8, Body> Service<Request<Body>> for SetForwardedHeadersService<S, (T1, T2, T3, T4, T5, T6, T7, T8)>
where T1: ForwardHeader + Send + Sync + 'static, T2: ForwardHeader + Send + Sync + 'static, T3: ForwardHeader + Send + Sync + 'static, T4: ForwardHeader + Send + Sync + 'static, T5: ForwardHeader + Send + Sync + 'static, T6: ForwardHeader + Send + Sync + 'static, T7: ForwardHeader + Send + Sync + 'static, T8: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, <S as Service<Request<Body>>>::Error: Into<Box<dyn Error + Sync + Send>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<S, T1, T2, T3, T4, T5, T6, T7, T8, T9, Body> Service<Request<Body>> for SetForwardedHeadersService<S, (T1, T2, T3, T4, T5, T6, T7, T8, T9)>
where T1: ForwardHeader + Send + Sync + 'static, T2: ForwardHeader + Send + Sync + 'static, T3: ForwardHeader + Send + Sync + 'static, T4: ForwardHeader + Send + Sync + 'static, T5: ForwardHeader + Send + Sync + 'static, T6: ForwardHeader + Send + Sync + 'static, T7: ForwardHeader + Send + Sync + 'static, T8: ForwardHeader + Send + Sync + 'static, T9: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, <S as Service<Request<Body>>>::Error: Into<Box<dyn Error + Sync + Send>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<S, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, Body> Service<Request<Body>> for SetForwardedHeadersService<S, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>
where T1: ForwardHeader + Send + Sync + 'static, T2: ForwardHeader + Send + Sync + 'static, T3: ForwardHeader + Send + Sync + 'static, T4: ForwardHeader + Send + Sync + 'static, T5: ForwardHeader + Send + Sync + 'static, T6: ForwardHeader + Send + Sync + 'static, T7: ForwardHeader + Send + Sync + 'static, T8: ForwardHeader + Send + Sync + 'static, T9: ForwardHeader + Send + Sync + 'static, T10: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, <S as Service<Request<Body>>>::Error: Into<Box<dyn Error + Sync + Send>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<S, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, Body> Service<Request<Body>> for SetForwardedHeadersService<S, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)>
where T1: ForwardHeader + Send + Sync + 'static, T2: ForwardHeader + Send + Sync + 'static, T3: ForwardHeader + Send + Sync + 'static, T4: ForwardHeader + Send + Sync + 'static, T5: ForwardHeader + Send + Sync + 'static, T6: ForwardHeader + Send + Sync + 'static, T7: ForwardHeader + Send + Sync + 'static, T8: ForwardHeader + Send + Sync + 'static, T9: ForwardHeader + Send + Sync + 'static, T10: ForwardHeader + Send + Sync + 'static, T11: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, <S as Service<Request<Body>>>::Error: Into<Box<dyn Error + Sync + Send>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<S, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, Body> Service<Request<Body>> for SetForwardedHeadersService<S, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)>
where T1: ForwardHeader + Send + Sync + 'static, T2: ForwardHeader + Send + Sync + 'static, T3: ForwardHeader + Send + Sync + 'static, T4: ForwardHeader + Send + Sync + 'static, T5: ForwardHeader + Send + Sync + 'static, T6: ForwardHeader + Send + Sync + 'static, T7: ForwardHeader + Send + Sync + 'static, T8: ForwardHeader + Send + Sync + 'static, T9: ForwardHeader + Send + Sync + 'static, T10: ForwardHeader + Send + Sync + 'static, T11: ForwardHeader + Send + Sync + 'static, T12: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, <S as Service<Request<Body>>>::Error: Into<Box<dyn Error + Sync + Send>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<S, T> Service<ProxyRequest<S, T>> for StreamForwardService
where S: Stream + Unpin, T: Stream + Unpin,

§

impl<S, T, ReqBody, ResBody> Service<Request<ReqBody>> for CatchPanic<S, T>
where S: Service<Request<ReqBody>, Response = Response<ResBody>>, ResBody: Into<Body> + Send + 'static, T: ResponseForPanic + Clone + Send + Sync + 'static, ReqBody: Send + 'static,

§

type Response = Response<Body>

§

type Error = <S as Service<Request<ReqBody>>>::Error

§

impl<S, W, ReqBody, ResBody> Service<Request<ReqBody>> for ResponseWriterService<S, W>
where S: Service<Request<ReqBody>, Response = Response<ResBody>>, <S as Service<Request<ReqBody>>>::Error: Into<Box<dyn Error + Sync + Send>>, W: ResponseWriter, ReqBody: Send + 'static, ResBody: Body<Data = Bytes> + Send + Sync + 'static, <ResBody as Body>::Error: Into<Box<dyn Error + Sync + Send>>,

§

type Response = Response<Body>

§

type Error = Box<dyn Error + Sync + Send>

§

impl<Stream, Response, S, F> Service<Stream> for SniRouter<S, F>
where Stream: Stream + Unpin, Response: Send + 'static, S: Service<SniRequest<Stream>, Response = Response>, <S as Service<SniRequest<Stream>>>::Error: Into<Box<dyn Error + Sync + Send>>, F: Service<PeekStream<StackReader<rama_net::::tls::server::peek::TlsPeekStream::{constant#0}>, Stream>, Response = Response>, <F as Service<PeekStream<StackReader<rama_net::::tls::server::peek::TlsPeekStream::{constant#0}>, Stream>>>::Error: Into<Box<dyn Error + Sync + Send>>,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<Stream, Response, T, F> Service<Stream> for HttpPeekRouter<H2Acceptor<T>, F>
where Stream: Stream + Unpin, Response: Send + 'static, T: Service<PeekStream<StackReader<rama_net::::http::server::peek::HttpPeekStream::{constant#0}>, Stream>, Response = Response>, <T as Service<PeekStream<StackReader<rama_net::::http::server::peek::HttpPeekStream::{constant#0}>, Stream>>>::Error: Into<Box<dyn Error + Sync + Send>>, F: Service<PeekStream<StackReader<rama_net::::http::server::peek::HttpPeekStream::{constant#0}>, Stream>, Response = Response>, <F as Service<PeekStream<StackReader<rama_net::::http::server::peek::HttpPeekStream::{constant#0}>, Stream>>>::Error: Into<Box<dyn Error + Sync + Send>>,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<Stream, Response, T, F> Service<Stream> for HttpPeekRouter<Http1Acceptor<T>, F>
where Stream: Stream + Unpin, Response: Send + 'static, T: Service<PeekStream<StackReader<rama_net::::http::server::peek::HttpPeekStream::{constant#0}>, Stream>, Response = Response>, <T as Service<PeekStream<StackReader<rama_net::::http::server::peek::HttpPeekStream::{constant#0}>, Stream>>>::Error: Into<Box<dyn Error + Sync + Send>>, F: Service<PeekStream<StackReader<rama_net::::http::server::peek::HttpPeekStream::{constant#0}>, Stream>, Response = Response>, <F as Service<PeekStream<StackReader<rama_net::::http::server::peek::HttpPeekStream::{constant#0}>, Stream>>>::Error: Into<Box<dyn Error + Sync + Send>>,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<Stream, Response, T, F> Service<Stream> for HttpPeekRouter<HttpAutoAcceptor<T>, F>
where Stream: Stream + Unpin, Response: Send + 'static, T: Service<PeekStream<StackReader<rama_net::::http::server::peek::HttpPeekStream::{constant#0}>, Stream>, Response = Response>, <T as Service<PeekStream<StackReader<rama_net::::http::server::peek::HttpPeekStream::{constant#0}>, Stream>>>::Error: Into<Box<dyn Error + Sync + Send>>, F: Service<PeekStream<StackReader<rama_net::::http::server::peek::HttpPeekStream::{constant#0}>, Stream>, Response = Response>, <F as Service<PeekStream<StackReader<rama_net::::http::server::peek::HttpPeekStream::{constant#0}>, Stream>>>::Error: Into<Box<dyn Error + Sync + Send>>,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<Stream, Response, T, F> Service<Stream> for TlsPeekRouter<T, F>
where Stream: Stream + Unpin, Response: Send + 'static, T: Service<PeekStream<StackReader<rama_net::::tls::server::peek::TlsPeekStream::{constant#0}>, Stream>, Response = Response>, <T as Service<PeekStream<StackReader<rama_net::::tls::server::peek::TlsPeekStream::{constant#0}>, Stream>>>::Error: Into<Box<dyn Error + Sync + Send>>, F: Service<PeekStream<StackReader<rama_net::::tls::server::peek::TlsPeekStream::{constant#0}>, Stream>, Response = Response>, <F as Service<PeekStream<StackReader<rama_net::::tls::server::peek::TlsPeekStream::{constant#0}>, Stream>>>::Error: Into<Box<dyn Error + Sync + Send>>,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<Stream, Response, T, F> Service<Stream> for Socks5PeekRouter<T, F>
where Stream: Stream + Unpin, Response: Send + 'static, T: Service<PeekStream<StackReader<rama_socks5::::server::peek::Socks5PeekStream::{constant#0}>, Stream>, Response = Response>, <T as Service<PeekStream<StackReader<rama_socks5::::server::peek::Socks5PeekStream::{constant#0}>, Stream>>>::Error: Into<Box<dyn Error + Sync + Send>>, F: Service<PeekStream<StackReader<rama_socks5::::server::peek::Socks5PeekStream::{constant#0}>, Stream>, Response = Response>, <F as Service<PeekStream<StackReader<rama_socks5::::server::peek::Socks5PeekStream::{constant#0}>, Stream>>>::Error: Into<Box<dyn Error + Sync + Send>>,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<Stream, Response, T, U, F> Service<Stream> for HttpPeekRouter<HttpDualAcceptor<T, U>, F>
where Stream: Stream + Unpin, Response: Send + 'static, T: Service<PeekStream<StackReader<rama_net::::http::server::peek::HttpPeekStream::{constant#0}>, Stream>, Response = Response>, <T as Service<PeekStream<StackReader<rama_net::::http::server::peek::HttpPeekStream::{constant#0}>, Stream>>>::Error: Into<Box<dyn Error + Sync + Send>>, U: Service<PeekStream<StackReader<rama_net::::http::server::peek::HttpPeekStream::{constant#0}>, Stream>, Response = Response>, <U as Service<PeekStream<StackReader<rama_net::::http::server::peek::HttpPeekStream::{constant#0}>, Stream>>>::Error: Into<Box<dyn Error + Sync + Send>>, F: Service<PeekStream<StackReader<rama_net::::http::server::peek::HttpPeekStream::{constant#0}>, Stream>, Response = Response>, <F as Service<PeekStream<StackReader<rama_net::::http::server::peek::HttpPeekStream::{constant#0}>, Stream>>>::Error: Into<Box<dyn Error + Sync + Send>>,

§

type Response = Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<T1, S, Body> Service<Request<Body>> for GetForwardedHeadersService<S, (T1,)>
where T1: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = <S as Service<Request<Body>>>::Error

§

impl<T1, T2, S, Body> Service<Request<Body>> for GetForwardedHeadersService<S, (T1, T2)>
where T1: ForwardHeader + Send + Sync + 'static, T2: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = <S as Service<Request<Body>>>::Error

§

impl<T1, T2, T3, S, Body> Service<Request<Body>> for GetForwardedHeadersService<S, (T1, T2, T3)>
where T1: ForwardHeader + Send + Sync + 'static, T2: ForwardHeader + Send + Sync + 'static, T3: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = <S as Service<Request<Body>>>::Error

§

impl<T1, T2, T3, T4, S, Body> Service<Request<Body>> for GetForwardedHeadersService<S, (T1, T2, T3, T4)>
where T1: ForwardHeader + Send + Sync + 'static, T2: ForwardHeader + Send + Sync + 'static, T3: ForwardHeader + Send + Sync + 'static, T4: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = <S as Service<Request<Body>>>::Error

§

impl<T1, T2, T3, T4, T5, S, Body> Service<Request<Body>> for GetForwardedHeadersService<S, (T1, T2, T3, T4, T5)>
where T1: ForwardHeader + Send + Sync + 'static, T2: ForwardHeader + Send + Sync + 'static, T3: ForwardHeader + Send + Sync + 'static, T4: ForwardHeader + Send + Sync + 'static, T5: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = <S as Service<Request<Body>>>::Error

§

impl<T1, T2, T3, T4, T5, T6, S, Body> Service<Request<Body>> for GetForwardedHeadersService<S, (T1, T2, T3, T4, T5, T6)>
where T1: ForwardHeader + Send + Sync + 'static, T2: ForwardHeader + Send + Sync + 'static, T3: ForwardHeader + Send + Sync + 'static, T4: ForwardHeader + Send + Sync + 'static, T5: ForwardHeader + Send + Sync + 'static, T6: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = <S as Service<Request<Body>>>::Error

§

impl<T1, T2, T3, T4, T5, T6, T7, S, Body> Service<Request<Body>> for GetForwardedHeadersService<S, (T1, T2, T3, T4, T5, T6, T7)>
where T1: ForwardHeader + Send + Sync + 'static, T2: ForwardHeader + Send + Sync + 'static, T3: ForwardHeader + Send + Sync + 'static, T4: ForwardHeader + Send + Sync + 'static, T5: ForwardHeader + Send + Sync + 'static, T6: ForwardHeader + Send + Sync + 'static, T7: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = <S as Service<Request<Body>>>::Error

§

impl<T1, T2, T3, T4, T5, T6, T7, T8, S, Body> Service<Request<Body>> for GetForwardedHeadersService<S, (T1, T2, T3, T4, T5, T6, T7, T8)>
where T1: ForwardHeader + Send + Sync + 'static, T2: ForwardHeader + Send + Sync + 'static, T3: ForwardHeader + Send + Sync + 'static, T4: ForwardHeader + Send + Sync + 'static, T5: ForwardHeader + Send + Sync + 'static, T6: ForwardHeader + Send + Sync + 'static, T7: ForwardHeader + Send + Sync + 'static, T8: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = <S as Service<Request<Body>>>::Error

§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, S, Body> Service<Request<Body>> for GetForwardedHeadersService<S, (T1, T2, T3, T4, T5, T6, T7, T8, T9)>
where T1: ForwardHeader + Send + Sync + 'static, T2: ForwardHeader + Send + Sync + 'static, T3: ForwardHeader + Send + Sync + 'static, T4: ForwardHeader + Send + Sync + 'static, T5: ForwardHeader + Send + Sync + 'static, T6: ForwardHeader + Send + Sync + 'static, T7: ForwardHeader + Send + Sync + 'static, T8: ForwardHeader + Send + Sync + 'static, T9: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = <S as Service<Request<Body>>>::Error

§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, S, Body> Service<Request<Body>> for GetForwardedHeadersService<S, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>
where T1: ForwardHeader + Send + Sync + 'static, T2: ForwardHeader + Send + Sync + 'static, T3: ForwardHeader + Send + Sync + 'static, T4: ForwardHeader + Send + Sync + 'static, T5: ForwardHeader + Send + Sync + 'static, T6: ForwardHeader + Send + Sync + 'static, T7: ForwardHeader + Send + Sync + 'static, T8: ForwardHeader + Send + Sync + 'static, T9: ForwardHeader + Send + Sync + 'static, T10: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = <S as Service<Request<Body>>>::Error

§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, S, Body> Service<Request<Body>> for GetForwardedHeadersService<S, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)>
where T1: ForwardHeader + Send + Sync + 'static, T2: ForwardHeader + Send + Sync + 'static, T3: ForwardHeader + Send + Sync + 'static, T4: ForwardHeader + Send + Sync + 'static, T5: ForwardHeader + Send + Sync + 'static, T6: ForwardHeader + Send + Sync + 'static, T7: ForwardHeader + Send + Sync + 'static, T8: ForwardHeader + Send + Sync + 'static, T9: ForwardHeader + Send + Sync + 'static, T10: ForwardHeader + Send + Sync + 'static, T11: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = <S as Service<Request<Body>>>::Error

§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, S, Body> Service<Request<Body>> for GetForwardedHeadersService<S, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)>
where T1: ForwardHeader + Send + Sync + 'static, T2: ForwardHeader + Send + Sync + 'static, T3: ForwardHeader + Send + Sync + 'static, T4: ForwardHeader + Send + Sync + 'static, T5: ForwardHeader + Send + Sync + 'static, T6: ForwardHeader + Send + Sync + 'static, T7: ForwardHeader + Send + Sync + 'static, T8: ForwardHeader + Send + Sync + 'static, T9: ForwardHeader + Send + Sync + 'static, T10: ForwardHeader + Send + Sync + 'static, T11: ForwardHeader + Send + Sync + 'static, T12: ForwardHeader + Send + Sync + 'static, S: Service<Request<Body>>, Body: Send + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = <S as Service<Request<Body>>>::Error

§

impl<T, C> Service<T> for Forwarder<C>

§

type Response = ()

§

type Error = Box<dyn Error + Sync + Send>

§

impl<T, F, Request, E> Service<Request> for rama::layer::Timeout<T, F>
where Request: Send + 'static, F: MakeLayerError<Error = E>, E: Into<<T as Service<Request>>::Error> + Send + 'static, T: Service<Request>,

§

type Response = <T as Service<Request>>::Response

§

type Error = <T as Service<Request>>::Error

§

impl<T, P, F, Request, FnResponse, FnError> Service<Request> for Limit<T, P, ErrorIntoResponseFn<F>>
where T: Service<Request>, P: Policy<Request>, F: Fn(<P as Policy<Request>>::Error) -> Result<FnResponse, FnError> + Send + Sync + 'static, FnResponse: Into<<T as Service<Request>>::Response> + Send + 'static, FnError: Into<<T as Service<Request>>::Error> + Send + Sync + 'static, Request: Send + Sync + 'static,

§

type Response = <T as Service<Request>>::Response

§

type Error = <T as Service<Request>>::Error

§

impl<T, P, Request> Service<Request> for Limit<T, P>
where T: Service<Request>, <T as Service<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, P: Policy<Request>, <P as Policy<Request>>::Error: Into<Box<dyn Error + Sync + Send>>, Request: Send + Sync + 'static,

§

type Response = <T as Service<Request>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<T, Request> Service<Request> for LayerAdapterService<T>
where T: Service<Request> + Clone + Send + Sync + 'static, <T as Service<Request>>::Response: Send + 'static, <T as Service<Request>>::Error: Send + 'static, <T as Service<Request>>::Future: Send, Request: ContextSmuggler + Send + 'static,

§

type Response = <T as Service<Request>>::Response

§

type Error = <T as Service<Request>>::Error

§

impl<T, Request> Service<Request> for ServiceAdapter<T>
where T: Service<Request> + Clone + Send + Sync + 'static, <T as Service<Request>>::Response: Send + 'static, <T as Service<Request>>::Error: Send + 'static, <T as Service<Request>>::Future: Send, Request: Send + 'static,

§

type Response = <T as Service<Request>>::Response

§

type Error = <T as Service<Request>>::Error

§

impl<T, Request> Service<Request> for SharedServiceAdapter<T>
where T: Service<Request> + Send + Sync + 'static, <T as Service<Request>>::Response: Send + 'static, <T as Service<Request>>::Error: Send + 'static, <T as Service<Request>>::Future: Send, Request: Send + 'static,

§

type Response = <T as Service<Request>>::Response

§

type Error = <T as Service<Request>>::Error

§

impl<T, S, Body, E> Service<Request<Body>> for HeaderConfigService<T, S>
where S: Service<Request<Body>, Error = E>, T: DeserializeOwned + Clone + Send + Sync + 'static, Body: Send + Sync + 'static, E: Into<Box<dyn Error + Sync + Send>> + Send + Sync + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<T, S, Body, E> Service<Request<Body>> for HeaderOptionValueService<T, S>
where S: Service<Request<Body>, Error = E>, T: Default + Clone + Send + Sync + 'static, Body: Send + Sync + 'static, E: Into<Box<dyn Error + Sync + Send>> + Send + Sync + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<T, S, Body, E, C> Service<Request<Body>> for HeaderFromStrConfigService<T, S, C>
where S: Service<Request<Body>, Error = E>, T: FromStr + Send + Sync + 'static + Clone, <T as FromStr>::Err: Into<Box<dyn Error + Sync + Send>> + Send + Sync + 'static, C: FromIterator<T> + Send + Sync + 'static + Clone, Body: Send + Sync + 'static, E: Into<Box<dyn Error + Sync + Send>> + Send + Sync + 'static,

§

type Response = <S as Service<Request<Body>>>::Response

§

type Error = Box<dyn Error + Sync + Send>

§

impl<W, ReqBody> Service<Request<ReqBody>> for RequestWriterInspector<W>
where W: RequestWriter, ReqBody: Body<Data = Bytes> + Send + Sync + 'static, <ReqBody as Body>::Error: Into<Box<dyn Error + Sync + Send>>,

§

type Error = Box<dyn Error + Sync + Send>

§

type Response = (Context, Request<Body>)