Struct RequestVersionAdapter
pub struct RequestVersionAdapter<S> { /* private fields */ }Available on crate feature
http only.Expand description
ConnectorService which will adapt the request version if needed.
It will adapt the request version to TargetHttpVersion, or the configured
default version
Implementations§
§impl<S> RequestVersionAdapter<S>
impl<S> RequestVersionAdapter<S>
pub fn new(inner: S) -> RequestVersionAdapter<S>
pub fn maybe_with_default_version(
self,
version: Option<Version>,
) -> RequestVersionAdapter<S>
pub fn maybe_with_default_version( self, version: Option<Version>, ) -> RequestVersionAdapter<S>
Set default request Version which will be used if TargetHttpVersion is
is not present in extensions
pub fn maybe_set_default_version(
&mut self,
version: Option<Version>,
) -> &mut RequestVersionAdapter<S>
pub fn maybe_set_default_version( &mut self, version: Option<Version>, ) -> &mut RequestVersionAdapter<S>
Set default request Version which will be used if TargetHttpVersion is
is not present in extensions
pub fn with_default_version(self, version: Version) -> RequestVersionAdapter<S>
pub fn with_default_version(self, version: Version) -> RequestVersionAdapter<S>
Set default request Version which will be used if TargetHttpVersion is
is not present in extensions
pub fn set_default_version(
&mut self,
version: Version,
) -> &mut RequestVersionAdapter<S>
pub fn set_default_version( &mut self, version: Version, ) -> &mut RequestVersionAdapter<S>
Set default request Version which will be used if TargetHttpVersion is
is not present in extensions
pub fn without_default_version(self) -> RequestVersionAdapter<S>
pub fn without_default_version(self) -> RequestVersionAdapter<S>
Set default request Version which will be used if TargetHttpVersion is
is not present in extensions
pub fn unset_default_version(&mut self) -> &mut RequestVersionAdapter<S>
pub fn unset_default_version(&mut self) -> &mut RequestVersionAdapter<S>
Set default request Version which will be used if TargetHttpVersion is
is not present in extensions
Trait Implementations§
§impl<S> Clone for RequestVersionAdapter<S>where
S: Clone,
impl<S> Clone for RequestVersionAdapter<S>where
S: Clone,
§fn clone(&self) -> RequestVersionAdapter<S>
fn clone(&self) -> RequestVersionAdapter<S>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl<S> Debug for RequestVersionAdapter<S>where
S: Debug,
impl<S> Debug for RequestVersionAdapter<S>where
S: Debug,
§impl<S, Body> Service<Request<Body>> for RequestVersionAdapter<S>
impl<S, Body> Service<Request<Body>> for RequestVersionAdapter<S>
§type Response = EstablishedClientConnection<<S as ConnectorService<Request<Body>>>::Connection, Request<Body>>
type Response = EstablishedClientConnection<<S as ConnectorService<Request<Body>>>::Connection, Request<Body>>
The type of response returned by the service.
§async fn serve(
&self,
req: Request<Body>,
) -> Result<<RequestVersionAdapter<S> as Service<Request<Body>>>::Response, <RequestVersionAdapter<S> as Service<Request<Body>>>::Error>
async fn serve( &self, req: Request<Body>, ) -> Result<<RequestVersionAdapter<S> as Service<Request<Body>>>::Response, <RequestVersionAdapter<S> as Service<Request<Body>>>::Error>
Serve a response or error for the given request,
using the given context.
§fn boxed(self) -> BoxService<Request, Self::Response, Self::Error>
fn boxed(self) -> BoxService<Request, Self::Response, Self::Error>
Box this service to allow for dynamic dispatch.
Auto Trait Implementations§
impl<S> Freeze for RequestVersionAdapter<S>where
S: Freeze,
impl<S> RefUnwindSafe for RequestVersionAdapter<S>where
S: RefUnwindSafe,
impl<S> Send for RequestVersionAdapter<S>where
S: Send,
impl<S> Sync for RequestVersionAdapter<S>where
S: Sync,
impl<S> Unpin for RequestVersionAdapter<S>where
S: Unpin,
impl<S> UnwindSafe for RequestVersionAdapter<S>where
S: UnwindSafe,
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<S, Request, Connection> ConnectorService<Request> for S
impl<S, Request, Connection> ConnectorService<Request> for S
§type Connection = Connection
type Connection = Connection
Connection returned by the
ConnectorService§fn connect(
&self,
req: Request,
) -> impl Future<Output = Result<EstablishedClientConnection<<S as ConnectorService<Request>>::Connection, Request>, <S as ConnectorService<Request>>::Error>> + Send
fn connect( &self, req: Request, ) -> impl Future<Output = Result<EstablishedClientConnection<<S as ConnectorService<Request>>::Connection, Request>, <S as ConnectorService<Request>>::Error>> + Send
Establish a connection, which often involves some kind of handshake,
or connection revival.
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Create a new
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more§impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
fn rama_try_from(value: T) -> Result<U, <U as RamaTryFrom<T>>::Error>
§impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
type Error = <U as RamaTryFrom<T, CrateMarker>>::Error
fn rama_try_into(self) -> Result<U, <U as RamaTryFrom<T, CrateMarker>>::Error>
§impl<S, RequestIn, RequestOut> RequestInspector<RequestIn> for S
impl<S, RequestIn, RequestOut> RequestInspector<RequestIn> for S
type RequestOut = RequestOut
§fn inspect_request(
&self,
req: RequestIn,
) -> impl Future<Output = Result<<S as RequestInspector<RequestIn>>::RequestOut, <S as RequestInspector<RequestIn>>::Error>> + Send
fn inspect_request( &self, req: RequestIn, ) -> impl Future<Output = Result<<S as RequestInspector<RequestIn>>::RequestOut, <S as RequestInspector<RequestIn>>::Error>> + Send
Inspect the request, modify it if needed or desired, and return it.