Struct PseudoHeaderSensitivity
pub struct PseudoHeaderSensitivity(/* private fields */);Available on crate features
http and std only.Expand description
Pseudo-header fields that must retain HPACK/QPACK’s never-index requirement when forwarded.
Regular fields carry this information in HeaderValue::is_sensitive. Pseudo
fields live in the request/response parts instead, so their sensitivity travels
in this extension. It remains applicable when a middleware changes a value.
RFC 7541 §7.1.3 and RFC 9204 §7.1.3 require intermediaries to retain this
requirement, including when translating between HTTP/2 and HTTP/3.
Implementations§
§impl PseudoHeaderSensitivity
impl PseudoHeaderSensitivity
pub fn is_sensitive(self, header: PseudoHeader) -> bool
pub fn is_sensitive(self, header: PseudoHeader) -> bool
Whether the pseudo-header must be encoded with the never-index flag.
pub fn set_sensitive(&mut self, header: PseudoHeader, sensitive: bool)
pub fn set_sensitive(&mut self, header: PseudoHeader, sensitive: bool)
Set or clear the never-index requirement for a pseudo-header.
Trait Implementations§
§impl Clone for PseudoHeaderSensitivity
impl Clone for PseudoHeaderSensitivity
§fn clone(&self) -> PseudoHeaderSensitivity
fn clone(&self) -> PseudoHeaderSensitivity
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 moreimpl Copy for PseudoHeaderSensitivity
§impl Debug for PseudoHeaderSensitivity
impl Debug for PseudoHeaderSensitivity
§impl Default for PseudoHeaderSensitivity
impl Default for PseudoHeaderSensitivity
§fn default() -> PseudoHeaderSensitivity
fn default() -> PseudoHeaderSensitivity
Returns the “default value” for a type. Read more
impl Eq for PseudoHeaderSensitivity
impl Extension for PseudoHeaderSensitivity
impl HttpExtension for PseudoHeaderSensitivity
§impl PartialEq for PseudoHeaderSensitivity
impl PartialEq for PseudoHeaderSensitivity
impl StructuralPartialEq for PseudoHeaderSensitivity
Auto Trait Implementations§
impl Freeze for PseudoHeaderSensitivity
impl RefUnwindSafe for PseudoHeaderSensitivity
impl Send for PseudoHeaderSensitivity
impl Sync for PseudoHeaderSensitivity
impl Unpin for PseudoHeaderSensitivity
impl UnsafeUnpin for PseudoHeaderSensitivity
impl UnwindSafe for PseudoHeaderSensitivity
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§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