Trait Service
pub trait Service<Input>:
Sized
+ Send
+ Sync
+ 'static {
type Output: Send + 'static;
type Error: Send + 'static;
// Required method
fn serve(
&self,
input: Input,
) -> impl Future<Output = Result<Self::Output, Self::Error>> + Send;
// Provided method
fn boxed(self) -> BoxService<Input, Self::Output, Self::Error> { ... }
}Expand description
A Service that produces rama services,
to serve given an input, be it transport layer Inputs or application layer http requests,
or something else entirely.
Required Associated Types§
Required Methods§
Provided Methods§
fn boxed(self) -> BoxService<Input, Self::Output, Self::Error>
fn boxed(self) -> BoxService<Input, Self::Output, 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<S, Input> Service<Input> for &'static Swhere
S: Service<Input>,
impl<S, Input> Service<Input> for &'static Swhere
S: Service<Input>,
Implementors§
§impl Service<Interface> for DefaultAcceptorFactory
impl Service<Interface> for DefaultAcceptorFactory
§impl Service<Interface> for DefaultUdpBinder
impl Service<Interface> for DefaultUdpBinder
§impl Service<Upgraded> for WebSocketEchoService
impl Service<Upgraded> for WebSocketEchoService
Source§impl Service<Request> for rama::cli::service::echo::EchoService
Available on crate features http and net and haproxy and cli only.
impl Service<Request> for rama::cli::service::echo::EchoService
Available on crate features
http and net and haproxy and cli only.§impl Service<ServerWebSocket> for WebSocketEchoService
impl Service<ServerWebSocket> for WebSocketEchoService
§impl Service<AsyncWebSocket> for WebSocketEchoService
impl Service<AsyncWebSocket> for WebSocketEchoService
§impl<A, B, C, D, E, F, G, H, I, Input, Output> Service<Input> for Either9<A, B, C, D, E, F, G, H, I>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
H: Service<Input, Output = Output>,
<H as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
I: Service<Input, Output = Output>,
<I as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, E, F, G, H, I, Input, Output> Service<Input> for Either9<A, B, C, D, E, F, G, H, I>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
H: Service<Input, Output = Output>,
<H as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
I: Service<Input, Output = Output>,
<I as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, D, E, F, G, H, I, Input, Output> Service<Input> for EitherConn9Connected<A, B, C, D, E, F, G, H, I>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
H: Service<Input, Output = Output>,
<H as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
I: Service<Input, Output = Output>,
<I as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, E, F, G, H, I, Input, Output> Service<Input> for EitherConn9Connected<A, B, C, D, E, F, G, H, I>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
H: Service<Input, Output = Output>,
<H as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
I: Service<Input, Output = Output>,
<I as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, D, E, F, G, H, Input, Output> Service<Input> for Either8<A, B, C, D, E, F, G, H>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
H: Service<Input, Output = Output>,
<H as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, E, F, G, H, Input, Output> Service<Input> for Either8<A, B, C, D, E, F, G, H>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
H: Service<Input, Output = Output>,
<H as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, D, E, F, G, H, Input, Output> Service<Input> for EitherConn8Connected<A, B, C, D, E, F, G, H>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
H: Service<Input, Output = Output>,
<H as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, E, F, G, H, Input, Output> Service<Input> for EitherConn8Connected<A, B, C, D, E, F, G, H>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
H: Service<Input, Output = Output>,
<H as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, D, E, F, G, Input, Output> Service<Input> for Either7<A, B, C, D, E, F, G>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, E, F, G, Input, Output> Service<Input> for Either7<A, B, C, D, E, F, G>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, D, E, F, G, Input, Output> Service<Input> for EitherConn7Connected<A, B, C, D, E, F, G>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, E, F, G, Input, Output> Service<Input> for EitherConn7Connected<A, B, C, D, E, F, G>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
G: Service<Input, Output = Output>,
<G as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, D, E, F, Input, Output> Service<Input> for Either6<A, B, C, D, E, F>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, E, F, Input, Output> Service<Input> for Either6<A, B, C, D, E, F>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, D, E, F, Input, Output> Service<Input> for EitherConn6Connected<A, B, C, D, E, F>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, E, F, Input, Output> Service<Input> for EitherConn6Connected<A, B, C, D, E, F>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
F: Service<Input, Output = Output>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, D, E, Input, Output> Service<Input> for Either5<A, B, C, D, E>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, E, Input, Output> Service<Input> for Either5<A, B, C, D, E>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, D, E, Input, Output> Service<Input> for EitherConn5Connected<A, B, C, D, E>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, E, Input, Output> Service<Input> for EitherConn5Connected<A, B, C, D, E>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
E: Service<Input, Output = Output>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, D, Input, Output> Service<Input> for Either4<A, B, C, D>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, Input, Output> Service<Input> for Either4<A, B, C, D>where
A: Service<Input, Output = Output>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<<A as Service<Input>>::Error>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, D, Input, Output> Service<Input> for EitherConn4Connected<A, B, C, D>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, D, Input, Output> Service<Input> for EitherConn4Connected<A, B, C, D>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
D: Service<Input, Output = Output>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, C, Input, Output> Service<Input> for EitherConn3Connected<A, B, C>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
impl<A, B, C, Input, Output> Service<Input> for EitherConn3Connected<A, B, C>where
A: Service<Input, Output = Output>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
B: Service<Input, Output = Output>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
C: Service<Input, Output = Output>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
Input: Send + 'static,
Output: Send + 'static,
§impl<A, B, Input, Output> Service<Input> for EitherConnConnected<A, B>
impl<A, B, Input, Output> Service<Input> for EitherConnConnected<A, B>
§impl<A, C, L, S, ReqBody, ResBody> Service<Request<ReqBody>> for ProxyAuthService<A, C, S, L>
impl<A, C, L, S, ReqBody, ResBody> Service<Request<ReqBody>> for ProxyAuthService<A, C, S, L>
§impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, F, ConnF, G, ConnG, H, ConnH, I, ConnI, Input> Service<Input> for EitherConn9<A, B, C, D, E, F, G, H, I>where
A: Service<Input, Output = EstablishedClientConnection<ConnA, Input>>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnA: Send + 'static,
B: Service<Input, Output = EstablishedClientConnection<ConnB, Input>>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnB: Send + 'static,
C: Service<Input, Output = EstablishedClientConnection<ConnC, Input>>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnC: Send + 'static,
D: Service<Input, Output = EstablishedClientConnection<ConnD, Input>>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnD: Send + 'static,
E: Service<Input, Output = EstablishedClientConnection<ConnE, Input>>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnE: Send + 'static,
F: Service<Input, Output = EstablishedClientConnection<ConnF, Input>>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnF: Send + 'static,
G: Service<Input, Output = EstablishedClientConnection<ConnG, Input>>,
<G as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnG: Send + 'static,
H: Service<Input, Output = EstablishedClientConnection<ConnH, Input>>,
<H as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnH: Send + 'static,
I: Service<Input, Output = EstablishedClientConnection<ConnI, Input>>,
<I as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnI: Send + 'static,
Input: Send + 'static,
impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, F, ConnF, G, ConnG, H, ConnH, I, ConnI, Input> Service<Input> for EitherConn9<A, B, C, D, E, F, G, H, I>where
A: Service<Input, Output = EstablishedClientConnection<ConnA, Input>>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnA: Send + 'static,
B: Service<Input, Output = EstablishedClientConnection<ConnB, Input>>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnB: Send + 'static,
C: Service<Input, Output = EstablishedClientConnection<ConnC, Input>>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnC: Send + 'static,
D: Service<Input, Output = EstablishedClientConnection<ConnD, Input>>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnD: Send + 'static,
E: Service<Input, Output = EstablishedClientConnection<ConnE, Input>>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnE: Send + 'static,
F: Service<Input, Output = EstablishedClientConnection<ConnF, Input>>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnF: Send + 'static,
G: Service<Input, Output = EstablishedClientConnection<ConnG, Input>>,
<G as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnG: Send + 'static,
H: Service<Input, Output = EstablishedClientConnection<ConnH, Input>>,
<H as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnH: Send + 'static,
I: Service<Input, Output = EstablishedClientConnection<ConnI, Input>>,
<I as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnI: Send + 'static,
Input: Send + 'static,
type Output = EstablishedClientConnection<EitherConn9Connected<ConnA, ConnB, ConnC, ConnD, ConnE, ConnF, ConnG, ConnH, ConnI>, Input>
type Error = Box<dyn Error + Sync + Send>
§impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, F, ConnF, G, ConnG, H, ConnH, Input> Service<Input> for EitherConn8<A, B, C, D, E, F, G, H>where
A: Service<Input, Output = EstablishedClientConnection<ConnA, Input>>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnA: Send + 'static,
B: Service<Input, Output = EstablishedClientConnection<ConnB, Input>>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnB: Send + 'static,
C: Service<Input, Output = EstablishedClientConnection<ConnC, Input>>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnC: Send + 'static,
D: Service<Input, Output = EstablishedClientConnection<ConnD, Input>>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnD: Send + 'static,
E: Service<Input, Output = EstablishedClientConnection<ConnE, Input>>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnE: Send + 'static,
F: Service<Input, Output = EstablishedClientConnection<ConnF, Input>>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnF: Send + 'static,
G: Service<Input, Output = EstablishedClientConnection<ConnG, Input>>,
<G as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnG: Send + 'static,
H: Service<Input, Output = EstablishedClientConnection<ConnH, Input>>,
<H as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnH: Send + 'static,
Input: Send + 'static,
impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, F, ConnF, G, ConnG, H, ConnH, Input> Service<Input> for EitherConn8<A, B, C, D, E, F, G, H>where
A: Service<Input, Output = EstablishedClientConnection<ConnA, Input>>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnA: Send + 'static,
B: Service<Input, Output = EstablishedClientConnection<ConnB, Input>>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnB: Send + 'static,
C: Service<Input, Output = EstablishedClientConnection<ConnC, Input>>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnC: Send + 'static,
D: Service<Input, Output = EstablishedClientConnection<ConnD, Input>>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnD: Send + 'static,
E: Service<Input, Output = EstablishedClientConnection<ConnE, Input>>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnE: Send + 'static,
F: Service<Input, Output = EstablishedClientConnection<ConnF, Input>>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnF: Send + 'static,
G: Service<Input, Output = EstablishedClientConnection<ConnG, Input>>,
<G as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnG: Send + 'static,
H: Service<Input, Output = EstablishedClientConnection<ConnH, Input>>,
<H as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnH: Send + 'static,
Input: Send + 'static,
type Output = EstablishedClientConnection<EitherConn8Connected<ConnA, ConnB, ConnC, ConnD, ConnE, ConnF, ConnG, ConnH>, Input>
type Error = Box<dyn Error + Sync + Send>
§impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, F, ConnF, G, ConnG, Input> Service<Input> for EitherConn7<A, B, C, D, E, F, G>where
A: Service<Input, Output = EstablishedClientConnection<ConnA, Input>>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnA: Send + 'static,
B: Service<Input, Output = EstablishedClientConnection<ConnB, Input>>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnB: Send + 'static,
C: Service<Input, Output = EstablishedClientConnection<ConnC, Input>>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnC: Send + 'static,
D: Service<Input, Output = EstablishedClientConnection<ConnD, Input>>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnD: Send + 'static,
E: Service<Input, Output = EstablishedClientConnection<ConnE, Input>>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnE: Send + 'static,
F: Service<Input, Output = EstablishedClientConnection<ConnF, Input>>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnF: Send + 'static,
G: Service<Input, Output = EstablishedClientConnection<ConnG, Input>>,
<G as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnG: Send + 'static,
Input: Send + 'static,
impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, F, ConnF, G, ConnG, Input> Service<Input> for EitherConn7<A, B, C, D, E, F, G>where
A: Service<Input, Output = EstablishedClientConnection<ConnA, Input>>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnA: Send + 'static,
B: Service<Input, Output = EstablishedClientConnection<ConnB, Input>>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnB: Send + 'static,
C: Service<Input, Output = EstablishedClientConnection<ConnC, Input>>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnC: Send + 'static,
D: Service<Input, Output = EstablishedClientConnection<ConnD, Input>>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnD: Send + 'static,
E: Service<Input, Output = EstablishedClientConnection<ConnE, Input>>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnE: Send + 'static,
F: Service<Input, Output = EstablishedClientConnection<ConnF, Input>>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnF: Send + 'static,
G: Service<Input, Output = EstablishedClientConnection<ConnG, Input>>,
<G as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnG: Send + 'static,
Input: Send + 'static,
type Output = EstablishedClientConnection<EitherConn7Connected<ConnA, ConnB, ConnC, ConnD, ConnE, ConnF, ConnG>, Input>
type Error = Box<dyn Error + Sync + Send>
§impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, F, ConnF, Input> Service<Input> for EitherConn6<A, B, C, D, E, F>where
A: Service<Input, Output = EstablishedClientConnection<ConnA, Input>>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnA: Send + 'static,
B: Service<Input, Output = EstablishedClientConnection<ConnB, Input>>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnB: Send + 'static,
C: Service<Input, Output = EstablishedClientConnection<ConnC, Input>>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnC: Send + 'static,
D: Service<Input, Output = EstablishedClientConnection<ConnD, Input>>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnD: Send + 'static,
E: Service<Input, Output = EstablishedClientConnection<ConnE, Input>>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnE: Send + 'static,
F: Service<Input, Output = EstablishedClientConnection<ConnF, Input>>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnF: Send + 'static,
Input: Send + 'static,
impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, F, ConnF, Input> Service<Input> for EitherConn6<A, B, C, D, E, F>where
A: Service<Input, Output = EstablishedClientConnection<ConnA, Input>>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnA: Send + 'static,
B: Service<Input, Output = EstablishedClientConnection<ConnB, Input>>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnB: Send + 'static,
C: Service<Input, Output = EstablishedClientConnection<ConnC, Input>>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnC: Send + 'static,
D: Service<Input, Output = EstablishedClientConnection<ConnD, Input>>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnD: Send + 'static,
E: Service<Input, Output = EstablishedClientConnection<ConnE, Input>>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnE: Send + 'static,
F: Service<Input, Output = EstablishedClientConnection<ConnF, Input>>,
<F as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnF: Send + 'static,
Input: Send + 'static,
type Output = EstablishedClientConnection<EitherConn6Connected<ConnA, ConnB, ConnC, ConnD, ConnE, ConnF>, Input>
type Error = Box<dyn Error + Sync + Send>
§impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, Input> Service<Input> for EitherConn5<A, B, C, D, E>where
A: Service<Input, Output = EstablishedClientConnection<ConnA, Input>>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnA: Send + 'static,
B: Service<Input, Output = EstablishedClientConnection<ConnB, Input>>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnB: Send + 'static,
C: Service<Input, Output = EstablishedClientConnection<ConnC, Input>>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnC: Send + 'static,
D: Service<Input, Output = EstablishedClientConnection<ConnD, Input>>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnD: Send + 'static,
E: Service<Input, Output = EstablishedClientConnection<ConnE, Input>>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnE: Send + 'static,
Input: Send + 'static,
impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, E, ConnE, Input> Service<Input> for EitherConn5<A, B, C, D, E>where
A: Service<Input, Output = EstablishedClientConnection<ConnA, Input>>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnA: Send + 'static,
B: Service<Input, Output = EstablishedClientConnection<ConnB, Input>>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnB: Send + 'static,
C: Service<Input, Output = EstablishedClientConnection<ConnC, Input>>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnC: Send + 'static,
D: Service<Input, Output = EstablishedClientConnection<ConnD, Input>>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnD: Send + 'static,
E: Service<Input, Output = EstablishedClientConnection<ConnE, Input>>,
<E as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnE: Send + 'static,
Input: Send + 'static,
type Output = EstablishedClientConnection<EitherConn5Connected<ConnA, ConnB, ConnC, ConnD, ConnE>, Input>
type Error = Box<dyn Error + Sync + Send>
§impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, Input> Service<Input> for EitherConn4<A, B, C, D>where
A: Service<Input, Output = EstablishedClientConnection<ConnA, Input>>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnA: Send + 'static,
B: Service<Input, Output = EstablishedClientConnection<ConnB, Input>>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnB: Send + 'static,
C: Service<Input, Output = EstablishedClientConnection<ConnC, Input>>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnC: Send + 'static,
D: Service<Input, Output = EstablishedClientConnection<ConnD, Input>>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnD: Send + 'static,
Input: Send + 'static,
impl<A, ConnA, B, ConnB, C, ConnC, D, ConnD, Input> Service<Input> for EitherConn4<A, B, C, D>where
A: Service<Input, Output = EstablishedClientConnection<ConnA, Input>>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnA: Send + 'static,
B: Service<Input, Output = EstablishedClientConnection<ConnB, Input>>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnB: Send + 'static,
C: Service<Input, Output = EstablishedClientConnection<ConnC, Input>>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnC: Send + 'static,
D: Service<Input, Output = EstablishedClientConnection<ConnD, Input>>,
<D as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnD: Send + 'static,
Input: Send + 'static,
type Output = EstablishedClientConnection<EitherConn4Connected<ConnA, ConnB, ConnC, ConnD>, Input>
type Error = Box<dyn Error + Sync + Send>
§impl<A, ConnA, B, ConnB, C, ConnC, Input> Service<Input> for EitherConn3<A, B, C>where
A: Service<Input, Output = EstablishedClientConnection<ConnA, Input>>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnA: Send + 'static,
B: Service<Input, Output = EstablishedClientConnection<ConnB, Input>>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnB: Send + 'static,
C: Service<Input, Output = EstablishedClientConnection<ConnC, Input>>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnC: Send + 'static,
Input: Send + 'static,
impl<A, ConnA, B, ConnB, C, ConnC, Input> Service<Input> for EitherConn3<A, B, C>where
A: Service<Input, Output = EstablishedClientConnection<ConnA, Input>>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnA: Send + 'static,
B: Service<Input, Output = EstablishedClientConnection<ConnB, Input>>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnB: Send + 'static,
C: Service<Input, Output = EstablishedClientConnection<ConnC, Input>>,
<C as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnC: Send + 'static,
Input: Send + 'static,
type Output = EstablishedClientConnection<EitherConn3Connected<ConnA, ConnB, ConnC>, Input>
type Error = Box<dyn Error + Sync + Send>
§impl<A, ConnA, B, ConnB, Input> Service<Input> for EitherConn<A, B>where
A: Service<Input, Output = EstablishedClientConnection<ConnA, Input>>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnA: Send + 'static,
B: Service<Input, Output = EstablishedClientConnection<ConnB, Input>>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnB: Send + 'static,
Input: Send + 'static,
impl<A, ConnA, B, ConnB, Input> Service<Input> for EitherConn<A, B>where
A: Service<Input, Output = EstablishedClientConnection<ConnA, Input>>,
<A as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnA: Send + 'static,
B: Service<Input, Output = EstablishedClientConnection<ConnB, Input>>,
<B as Service<Input>>::Error: Into<Box<dyn Error + Sync + Send>>,
ConnB: Send + 'static,
Input: Send + 'static,
type Output = EstablishedClientConnection<EitherConnConnected<ConnA, ConnB>, Input>
type Error = Box<dyn Error + Sync + Send>
§impl<B, S, Response, IO> Service<IO> for HttpService<B, S>where
B: HttpCoreConnServer,
S: Service<Request, Output = Response, Error = Infallible>,
Response: IntoResponse + Send + 'static,
IO: Stream + ExtensionsMut,
impl<B, S, Response, IO> Service<IO> for HttpService<B, S>where
B: HttpCoreConnServer,
S: Service<Request, Output = Response, Error = Infallible>,
Response: IntoResponse + Send + 'static,
IO: Stream + ExtensionsMut,
§impl<Body> Service<Request<Body>> for HttpClientService<Body>
impl<Body> Service<Request<Body>> for HttpClientService<Body>
§impl<Body> Service<Request<Body>> for WebSocketAcceptorwhere
Body: Send + 'static,
impl<Body> Service<Request<Body>> for WebSocketAcceptorwhere
Body: Send + 'static,
Source§impl<Body, ConnectionBody, Connection, L> Service<Request<Body>> for EasyHttpWebClient<Body, EstablishedClientConnection<Connection, Request<ConnectionBody>>, L>where
Body: StreamingBody<Data: Send + 'static, Error: Into<BoxError>> + Unpin + Send + 'static,
Connection: Service<Request<ConnectionBody>, Output = Response, Error = BoxError> + ExtensionsRef,
ConnectionBody: StreamingBody<Data: Send + 'static, Error: Into<BoxError>> + Unpin + Send + 'static,
L: Layer<Connection, Service: Service<Request<ConnectionBody>, Output = Response, Error = BoxError>> + Send + Sync + 'static,
Available on crate features http-full and http only.
impl<Body, ConnectionBody, Connection, L> Service<Request<Body>> for EasyHttpWebClient<Body, EstablishedClientConnection<Connection, Request<ConnectionBody>>, L>where
Body: StreamingBody<Data: Send + 'static, Error: Into<BoxError>> + Unpin + Send + 'static,
Connection: Service<Request<ConnectionBody>, Output = Response, Error = BoxError> + ExtensionsRef,
ConnectionBody: StreamingBody<Data: Send + 'static, Error: Into<BoxError>> + Unpin + Send + 'static,
L: Layer<Connection, Service: Service<Request<ConnectionBody>, Output = Response, Error = BoxError>> + Send + Sync + 'static,
Available on crate features
http-full and http only.§impl<Body, ResBody> Service<Request<Body>> for RedirectStatic<ResBody>
impl<Body, ResBody> Service<Request<Body>> for RedirectStatic<ResBody>
§impl<Body, S> Service<Request<Body>> for DnsResolveModeService<S>
impl<Body, S> Service<Request<Body>> for DnsResolveModeService<S>
§impl<Body, S, P> Service<Request<Body>> for UserAgentEmulateService<S, P>
impl<Body, S, P> Service<Request<Body>> for UserAgentEmulateService<S, P>
§impl<C, B, U, A, S> Service<S> for Socks5Acceptor<C, B, U, A>where
C: Socks5Connector<S>,
U: Socks5UdpAssociator<S>,
A: Authorizer<Basic>,
<A as Authorizer<Basic>>::Error: Debug,
B: Socks5Binder<S>,
S: Stream + Unpin + ExtensionsMut,
impl<C, B, U, A, S> Service<S> for Socks5Acceptor<C, B, U, A>where
C: Socks5Connector<S>,
U: Socks5UdpAssociator<S>,
A: Authorizer<Basic>,
<A as Authorizer<Basic>>::Error: Debug,
B: Socks5Binder<S>,
S: Stream + Unpin + ExtensionsMut,
§impl<F, S, ReqBody, ResBody, NewReqBody> Service<Request<ReqBody>> for MapRequestBody<S, F>
impl<F, S, ReqBody, ResBody, NewReqBody> Service<Request<ReqBody>> for MapRequestBody<S, F>
§impl<F, S, ReqBody, ResBody, NewResBody> Service<Request<ReqBody>> for MapResponseBody<S, F>
impl<F, S, ReqBody, ResBody, NewResBody> Service<Request<ReqBody>> for MapResponseBody<S, F>
§impl<H, S, Body> Service<Request<Body>> for GetForwardedHeaderService<S, H>
impl<H, S, Body> Service<Request<Body>> for GetForwardedHeaderService<S, H>
§impl<Input> Service<Input> for MirrorServicewhere
Input: Send + 'static,
impl<Input> Service<Input> for MirrorServicewhere
Input: Send + 'static,
type Output = Input
type Error = Infallible
§impl<Input, C, ID> Service<Input> for LeasedConnection<C, ID>
impl<Input, C, ID> Service<Input> for LeasedConnection<C, ID>
§impl<Input, ConnectorFactory> Service<Input> for UnixConnector<ConnectorFactory>where
Input: 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<Input, ConnectorFactory> Service<Input> for UnixConnector<ConnectorFactory>where
Input: 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,
type Output = EstablishedClientConnection<UnixStream, Input>
type Error = Box<dyn Error + Sync + Send>
§impl<Input, Dns, ConnectorFactory> Service<Input> for TcpConnector<Dns, ConnectorFactory>where
Input: TryRefIntoTransportContext + Send + ExtensionsMut + 'static,
<Input 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<Input, Dns, ConnectorFactory> Service<Input> for TcpConnector<Dns, ConnectorFactory>where
Input: TryRefIntoTransportContext + Send + ExtensionsMut + 'static,
<Input 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<Input, Output, Error> Service<Input> for BoxService<Input, Output, Error>
impl<Input, Output, Error> Service<Input> for BoxService<Input, Output, Error>
§impl<Input, Output, Error> Service<Input> for RejectService<Output, Error>
impl<Input, Output, Error> Service<Input> for RejectService<Output, Error>
Source§impl<Input, S> Service<Input> for ProxyConnector<S>where
S: ConnectorService<Input, Connection: Stream + Unpin>,
Input: TryRefIntoTransportContext<Error: Into<BoxError> + Send + 'static> + Send + ExtensionsMut + 'static,
Available on crate features http-full and http only.
impl<Input, S> Service<Input> for ProxyConnector<S>where
S: ConnectorService<Input, Connection: Stream + Unpin>,
Input: TryRefIntoTransportContext<Error: Into<BoxError> + Send + 'static> + Send + ExtensionsMut + 'static,
Available on crate features
http-full and http only.