Struct ETag

Source
pub struct ETag(pub EntityTag);
Expand description

ETag header, defined in RFC7232

The ETag header field in a response provides the current entity-tag for the selected representation, as determined at the conclusion of handling the request. An entity-tag is an opaque validator for differentiating between multiple representations of the same resource, regardless of whether those multiple representations are due to resource state changes over time, content negotiation resulting in multiple representations being valid at the same time, or both. An entity-tag consists of an opaque quoted string, possibly prefixed by a weakness indicator.

§ABNF

ETag       = entity-tag

§Example values

  • "xyzzy"
  • W/"xyzzy"
  • ""

§Examples

use requiem_http::Response;
use requiem_http::http::header::{ETag, EntityTag};

let mut builder = Response::Ok();
builder.set(ETag(EntityTag::new(false, "xyzzy".to_owned())));
use requiem_http::Response;
use requiem_http::http::header::{ETag, EntityTag};

let mut builder = Response::Ok();
builder.set(ETag(EntityTag::new(true, "xyzzy".to_owned())));

Tuple Fields§

§0: EntityTag

Methods from Deref<Target = EntityTag>§

Source

pub fn tag(&self) -> &str

Get the tag.

Source

pub fn set_tag(&mut self, tag: String)

Set the tag.

§Panics

If the tag contains invalid characters.

Source

pub fn strong_eq(&self, other: &EntityTag) -> bool

For strong comparison two entity-tags are equivalent if both are not weak and their opaque-tags match character-by-character.

Source

pub fn weak_eq(&self, other: &EntityTag) -> bool

For weak comparison two entity-tags are equivalent if their opaque-tags match character-by-character, regardless of either or both being tagged as “weak”.

Source

pub fn strong_ne(&self, other: &EntityTag) -> bool

The inverse of EntityTag.strong_eq().

Source

pub fn weak_ne(&self, other: &EntityTag) -> bool

The inverse of EntityTag.weak_eq().

Trait Implementations§

Source§

impl Clone for ETag

Source§

fn clone(&self) -> ETag

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ETag

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl DerefMut for ETag

Source§

fn deref_mut(&mut self) -> &mut EntityTag

Mutably dereferences the value.
Source§

impl Display for ETag

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Header for ETag

Source§

fn name() -> HeaderName

Returns the name of the header field
Source§

fn parse<T>(msg: &T) -> Result<Self, ParseError>
where T: HttpMessage,

Parse a header
Source§

impl IntoHeaderValue for ETag

Source§

type Error = InvalidHeaderValue

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<HeaderValue, Self::Error>

Try to convert value to a Header value.
Source§

impl PartialEq for ETag

Source§

fn eq(&self, other: &ETag) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Deref for ETag

Source§

type Target = EntityTag

The resulting type after dereferencing.
Source§

fn deref(&self) -> &EntityTag

Dereferences the value.
Source§

impl StructuralPartialEq for ETag

Auto Trait Implementations§

§

impl Freeze for ETag

§

impl RefUnwindSafe for ETag

§

impl Send for ETag

§

impl Sync for ETag

§

impl Unpin for ETag

§

impl UnwindSafe for ETag

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,