Struct SetForwardedHeadersLayer
pub struct SetForwardedHeadersLayer<T = Forwarded> { /* private fields */ }Available on crate features
http and std only.Expand description
Layer to write Forwarded information for this proxy,
added to the end of the chain of forwarded information already known.
Use super::SetForwardedHeaderLayer if you only need a single a header.
This layer can set any headers as long as you have a ForwardHeader implementation
for the headers you want to set. You can pass it as the type to the layer when creating
the layer using SetForwardedHeadersLayer::new, with the headers in a single tuple.
Implementations§
§impl<T> SetForwardedHeadersLayer<T>
impl<T> SetForwardedHeadersLayer<T>
pub fn new() -> SetForwardedHeadersLayer<T>
pub fn new() -> SetForwardedHeadersLayer<T>
Create a new SetForwardedHeadersLayer for the specified headers T.
Trait Implementations§
§impl<T> Clone for SetForwardedHeadersLayer<T>where
T: Clone,
impl<T> Clone for SetForwardedHeadersLayer<T>where
T: Clone,
§fn clone(&self) -> SetForwardedHeadersLayer<T>
fn clone(&self) -> SetForwardedHeadersLayer<T>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl<T> Debug for SetForwardedHeadersLayer<T>where
T: Debug,
impl<T> Debug for SetForwardedHeadersLayer<T>where
T: Debug,
§impl<T> Default for SetForwardedHeadersLayer<T>
impl<T> Default for SetForwardedHeadersLayer<T>
§fn default() -> SetForwardedHeadersLayer<T>
fn default() -> SetForwardedHeadersLayer<T>
Returns the “default value” for a type. Read more
§impl<H, S> Layer<S> for SetForwardedHeadersLayer<H>
impl<H, S> Layer<S> for SetForwardedHeadersLayer<H>
§type Service = SetForwardedHeadersService<S, H>
type Service = SetForwardedHeadersService<S, H>
The service produced by the layer.
§fn layer(&self, inner: S) -> <SetForwardedHeadersLayer<H> as Layer<S>>::Service
fn layer(&self, inner: S) -> <SetForwardedHeadersLayer<H> as Layer<S>>::Service
Wrap the given service with the middleware, returning a new service.
§fn into_layer(
self,
inner: S,
) -> <SetForwardedHeadersLayer<H> as Layer<S>>::Service
fn into_layer( self, inner: S, ) -> <SetForwardedHeadersLayer<H> as Layer<S>>::Service
Same as
layer but consuming self after the service was created. Read moreAuto Trait Implementations§
impl<T> Freeze for SetForwardedHeadersLayer<T>
impl<T> RefUnwindSafe for SetForwardedHeadersLayer<T>
impl<T> Send for SetForwardedHeadersLayer<T>
impl<T> Sync for SetForwardedHeadersLayer<T>
impl<T> Unpin for SetForwardedHeadersLayer<T>
impl<T> UnsafeUnpin for SetForwardedHeadersLayer<T>
impl<T> UnwindSafe for SetForwardedHeadersLayer<T>
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a rama_grpc::Request§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<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<V, F> ValueFormatter<&V> for F
impl<V, F> ValueFormatter<&V> for F
§fn format_value(writer: impl ValueWriter, value: &&V)
fn format_value(writer: impl ValueWriter, value: &&V)
Write
value to writer§impl<V, F> ValueFormatter<Arc<V>> for F
impl<V, F> ValueFormatter<Arc<V>> for F
§fn format_value(writer: impl ValueWriter, value: &Arc<V>)
fn format_value(writer: impl ValueWriter, value: &Arc<V>)
Write
value to writer§impl<V, F> ValueFormatter<Box<V>> for F
impl<V, F> ValueFormatter<Box<V>> for F
§fn format_value(writer: impl ValueWriter, value: &Box<V>)
fn format_value(writer: impl ValueWriter, value: &Box<V>)
Write
value to writer§impl<V, F> ValueFormatter<Cow<'_, V>> for F
impl<V, F> ValueFormatter<Cow<'_, V>> for F
§fn format_value(writer: impl ValueWriter, value: &Cow<'_, V>)
fn format_value(writer: impl ValueWriter, value: &Cow<'_, V>)
Write
value to writer§impl<V, F> ValueFormatter<Option<V>> for Fwhere
F: ValueFormatter<V> + ?Sized,
impl<V, F> ValueFormatter<Option<V>> for Fwhere
F: ValueFormatter<V> + ?Sized,
§fn format_value(writer: impl ValueWriter, value: &Option<V>)
fn format_value(writer: impl ValueWriter, value: &Option<V>)
Write
value to writer