Struct SetForwardedHeaderService
pub struct SetForwardedHeaderService<S, T = Forwarded> { /* private fields */ }http only.Expand description
Middleware Service to write Forwarded information for this proxy,
added to the end of the chain of forwarded information already known.
See SetForwardedHeaderLayer for more information.
Implementations§
§impl<S, T> SetForwardedHeaderService<S, T>
impl<S, T> SetForwardedHeaderService<S, T>
pub fn with_forward_by(
self,
node_id: impl Into<NodeId>,
) -> SetForwardedHeaderService<S, T>
pub fn with_forward_by( self, node_id: impl Into<NodeId>, ) -> SetForwardedHeaderService<S, T>
Set the given NodeId as the “by” property, identifying this proxy.
Default of None will be set to rama otherwise.
pub fn set_forward_by(
&mut self,
node_id: impl Into<NodeId>,
) -> &mut SetForwardedHeaderService<S, T>
pub fn set_forward_by( &mut self, node_id: impl Into<NodeId>, ) -> &mut SetForwardedHeaderService<S, T>
Set the given NodeId as the “by” property, identifying this proxy.
Default of None will be set to rama otherwise.
§impl<S, T> SetForwardedHeaderService<S, T>
impl<S, T> SetForwardedHeaderService<S, T>
pub fn new(inner: S) -> SetForwardedHeaderService<S, T>
pub fn new(inner: S) -> SetForwardedHeaderService<S, T>
Create a new SetForwardedHeaderService for the specified headers T.
§impl<S> SetForwardedHeaderService<S>
impl<S> SetForwardedHeaderService<S>
pub fn forwarded(inner: S) -> SetForwardedHeaderService<S>
pub fn forwarded(inner: S) -> SetForwardedHeaderService<S>
Create a new SetForwardedHeaderService for the standard Forwarded header.
§impl<S> SetForwardedHeaderService<S, Via>
impl<S> SetForwardedHeaderService<S, Via>
pub fn via(inner: S) -> SetForwardedHeaderService<S, Via>
pub fn via(inner: S) -> SetForwardedHeaderService<S, Via>
Create a new SetForwardedHeaderService for the canonical Via header.
§impl<S> SetForwardedHeaderService<S, XForwardedFor>
impl<S> SetForwardedHeaderService<S, XForwardedFor>
pub fn x_forwarded_for(inner: S) -> SetForwardedHeaderService<S, XForwardedFor>
pub fn x_forwarded_for(inner: S) -> SetForwardedHeaderService<S, XForwardedFor>
Create a new SetForwardedHeaderService for the canonical [X-Forwarded-For] header.
§impl<S> SetForwardedHeaderService<S, XForwardedHost>
impl<S> SetForwardedHeaderService<S, XForwardedHost>
pub fn x_forwarded_host(
inner: S,
) -> SetForwardedHeaderService<S, XForwardedHost>
pub fn x_forwarded_host( inner: S, ) -> SetForwardedHeaderService<S, XForwardedHost>
Create a new SetForwardedHeaderService for the canonical [X-Forwarded-Host] header.
§impl<S> SetForwardedHeaderService<S, XForwardedProto>
impl<S> SetForwardedHeaderService<S, XForwardedProto>
pub fn x_forwarded_proto(
inner: S,
) -> SetForwardedHeaderService<S, XForwardedProto>
pub fn x_forwarded_proto( inner: S, ) -> SetForwardedHeaderService<S, XForwardedProto>
Create a new SetForwardedHeaderService for the canonical [X-Forwarded-Proto] header.
Trait Implementations§
§impl<S, T> Clone for SetForwardedHeaderService<S, T>where
S: Clone,
impl<S, T> Clone for SetForwardedHeaderService<S, T>where
S: Clone,
§fn clone(&self) -> SetForwardedHeaderService<S, T>
fn clone(&self) -> SetForwardedHeaderService<S, T>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl<S, T> Debug for SetForwardedHeaderService<S, T>where
S: Debug,
impl<S, T> Debug for SetForwardedHeaderService<S, T>where
S: Debug,
§impl<S, H, Body> Service<Request<Body>> for SetForwardedHeaderService<S, H>
impl<S, H, Body> Service<Request<Body>> for SetForwardedHeaderService<S, H>
§type Response = <S as Service<Request<Body>>>::Response
type Response = <S as Service<Request<Body>>>::Response
§async fn serve(
&self,
req: Request<Body>,
) -> Result<<SetForwardedHeaderService<S, H> as Service<Request<Body>>>::Response, <SetForwardedHeaderService<S, H> as Service<Request<Body>>>::Error>
async fn serve( &self, req: Request<Body>, ) -> Result<<SetForwardedHeaderService<S, H> as Service<Request<Body>>>::Response, <SetForwardedHeaderService<S, H> as Service<Request<Body>>>::Error>
§fn boxed(self) -> BoxService<Request, Self::Response, Self::Error>
fn boxed(self) -> BoxService<Request, Self::Response, Self::Error>
Auto Trait Implementations§
impl<S, T> Freeze for SetForwardedHeaderService<S, T>where
S: Freeze,
impl<S, T> RefUnwindSafe for SetForwardedHeaderService<S, T>where
S: RefUnwindSafe,
impl<S, T> Send for SetForwardedHeaderService<S, T>where
S: Send,
impl<S, T> Sync for SetForwardedHeaderService<S, T>where
S: Sync,
impl<S, T> Unpin for SetForwardedHeaderService<S, T>where
S: Unpin,
impl<S, T> UnwindSafe for SetForwardedHeaderService<S, T>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
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
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
§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<S, Body> HttpClientExt for S
impl<S, Body> HttpClientExt for S
§type ExecuteResponse = Response<Body>
type ExecuteResponse = Response<Body>
execute method.§type ExecuteError = <S as Service<Request>>::Error
type ExecuteError = <S as Service<Request>>::Error
execute method.§fn get(
&self,
url: impl IntoUrl,
) -> RequestBuilder<'_, S, <S as HttpClientExt>::ExecuteResponse>
fn get( &self, url: impl IntoUrl, ) -> RequestBuilder<'_, S, <S as HttpClientExt>::ExecuteResponse>
GET request to a URL. Read more§fn post(
&self,
url: impl IntoUrl,
) -> RequestBuilder<'_, S, <S as HttpClientExt>::ExecuteResponse>
fn post( &self, url: impl IntoUrl, ) -> RequestBuilder<'_, S, <S as HttpClientExt>::ExecuteResponse>
POST request to a URL. Read more§fn put(
&self,
url: impl IntoUrl,
) -> RequestBuilder<'_, S, <S as HttpClientExt>::ExecuteResponse>
fn put( &self, url: impl IntoUrl, ) -> RequestBuilder<'_, S, <S as HttpClientExt>::ExecuteResponse>
PUT request to a URL. Read more§fn patch(
&self,
url: impl IntoUrl,
) -> RequestBuilder<'_, S, <S as HttpClientExt>::ExecuteResponse>
fn patch( &self, url: impl IntoUrl, ) -> RequestBuilder<'_, S, <S as HttpClientExt>::ExecuteResponse>
PATCH request to a URL. Read more§fn delete(
&self,
url: impl IntoUrl,
) -> RequestBuilder<'_, S, <S as HttpClientExt>::ExecuteResponse>
fn delete( &self, url: impl IntoUrl, ) -> RequestBuilder<'_, S, <S as HttpClientExt>::ExecuteResponse>
DELETE request to a URL. Read more§fn head(
&self,
url: impl IntoUrl,
) -> RequestBuilder<'_, S, <S as HttpClientExt>::ExecuteResponse>
fn head( &self, url: impl IntoUrl, ) -> RequestBuilder<'_, S, <S as HttpClientExt>::ExecuteResponse>
HEAD request to a URL. Read more§fn connect(
&self,
url: impl IntoUrl,
) -> RequestBuilder<'_, S, <S as HttpClientExt>::ExecuteResponse>
fn connect( &self, url: impl IntoUrl, ) -> RequestBuilder<'_, S, <S as HttpClientExt>::ExecuteResponse>
CONNECT request to a URL. Read more§fn request(
&self,
method: Method,
url: impl IntoUrl,
) -> RequestBuilder<'_, S, <S as HttpClientExt>::ExecuteResponse>
fn request( &self, method: Method, url: impl IntoUrl, ) -> RequestBuilder<'_, S, <S as HttpClientExt>::ExecuteResponse>
§fn build_from_request<RequestBody>(
&self,
request: Request<RequestBody>,
) -> RequestBuilder<'_, S, <S as HttpClientExt>::ExecuteResponse>
fn build_from_request<RequestBody>( &self, request: Request<RequestBody>, ) -> RequestBuilder<'_, S, <S as HttpClientExt>::ExecuteResponse>
§fn execute(
&self,
request: Request,
) -> impl Future<Output = Result<<S as HttpClientExt>::ExecuteResponse, <S as HttpClientExt>::ExecuteError>>
fn execute( &self, request: Request, ) -> impl Future<Output = Result<<S as HttpClientExt>::ExecuteResponse, <S as HttpClientExt>::ExecuteError>>
Request. Read more§impl<S, Body> HttpClientWebSocketExt<Body> for S
impl<S, Body> HttpClientWebSocketExt<Body> for S
§fn websocket(
&self,
url: impl IntoUrl,
) -> WebSocketRequestBuilder<WithService<'_, S, Body>>
fn websocket( &self, url: impl IntoUrl, ) -> WebSocketRequestBuilder<WithService<'_, S, Body>>
WebSocketRequestBuilder] to be used to establish a WebSocket connection over http/1.1.§fn websocket_h2(
&self,
url: impl IntoUrl,
) -> WebSocketRequestBuilder<WithService<'_, S, Body>>
fn websocket_h2( &self, url: impl IntoUrl, ) -> WebSocketRequestBuilder<WithService<'_, S, Body>>
WebSocketRequestBuilder to be used to establish a WebSocket connection over h2.§fn websocket_with_request<RequestBody>(
&self,
req: Request<RequestBody>,
) -> WebSocketRequestBuilder<WithService<'_, S, Body>>
fn websocket_with_request<RequestBody>( &self, req: Request<RequestBody>, ) -> WebSocketRequestBuilder<WithService<'_, S, Body>>
WebSocketRequestBuilder starting from the given request. Read more§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> ⓘ
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> ⓘ
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>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more