pub struct CriticalCh(pub NonEmptySmallVec<16, ClientHint>);Expand description
Critical-CH header, defined by the
Client Hints Infrastructure.
Sent alongside AcceptCh to mark a subset of the advertised
ClientHints as critical: if the original request was not sent with
these hints, a conforming user agent retries the request before handing
the response to the page. Same wire format as Accept-CH (each hint
under every spelling it answers to).
§ABNF
Critical-CH = #client-hint-name§Example
use rama_utils::collections::non_empty_smallvec;
use rama_http_headers::{ClientHint, CriticalCh};
let critical_ch = CriticalCh(
non_empty_smallvec![ClientHint::Ua, ClientHint::Platform; 16],
);Tuple Fields§
§0: NonEmptySmallVec<16, ClientHint>Implementations§
Source§impl CriticalCh
impl CriticalCh
Sourcepub fn new(hint: ClientHint) -> CriticalCh
pub fn new(hint: ClientHint) -> CriticalCh
Create a CriticalCh advertising a single ClientHint.
Trait Implementations§
Source§impl Clone for CriticalCh
impl Clone for CriticalCh
Source§fn clone(&self) -> CriticalCh
fn clone(&self) -> CriticalCh
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 moreSource§impl Debug for CriticalCh
impl Debug for CriticalCh
impl Eq for CriticalCh
Source§impl HeaderDecode for CriticalCh
impl HeaderDecode for CriticalCh
Source§fn decode<'i, I>(values: &mut I) -> Result<CriticalCh, Error>where
I: Iterator<Item = &'i HeaderValue>,
fn decode<'i, I>(values: &mut I) -> Result<CriticalCh, Error>where
I: Iterator<Item = &'i HeaderValue>,
Decode this type from an iterator of
HeaderValues.Source§impl HeaderEncode for CriticalCh
impl HeaderEncode for CriticalCh
Source§fn encode<E>(&self, values: &mut E)where
E: Extend<HeaderValue>,
fn encode<E>(&self, values: &mut E)where
E: Extend<HeaderValue>,
Encode this type to a
HeaderValue, and add it to a container
which has HeaderValue type as each element. Read moreSource§fn encode_to_value(&self) -> Option<HeaderValue>
fn encode_to_value(&self) -> Option<HeaderValue>
Encode this header to
HeaderValue. Read moreSource§impl PartialEq for CriticalCh
impl PartialEq for CriticalCh
Source§fn eq(&self, other: &CriticalCh) -> bool
fn eq(&self, other: &CriticalCh) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for CriticalCh
Source§impl TypedHeader for CriticalCh
impl TypedHeader for CriticalCh
Source§fn name() -> &'static HeaderName
fn name() -> &'static HeaderName
The name of this header.
Auto Trait Implementations§
impl Freeze for CriticalCh
impl RefUnwindSafe for CriticalCh
impl Send for CriticalCh
impl Sync for CriticalCh
impl Unpin for CriticalCh
impl UnsafeUnpin for CriticalCh
impl UnwindSafe for CriticalCh
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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