[][src]Struct hyper::header::EntityTag

pub struct EntityTag {
    pub weak: bool,
    // some fields omitted
}

An entity tag, defined in RFC7232

An entity tag consists of a string enclosed by two literal double quotes. Preceding the first double quote is an optional weakness indicator, which always looks like W/. Examples for valid tags are "xyzzy" and W/"xyzzy".

ABNF

entity-tag = [ weak ] opaque-tag
weak       = %x57.2F ; "W/", case-sensitive
opaque-tag = DQUOTE *etagc DQUOTE
etagc      = %x21 / %x23-7E / obs-text
           ; VCHAR except double quotes, plus obs-text

Comparison

To check if two entity tags are equivalent in an application always use the strong_eq or weak_eq methods based on the context of the Tag. Only use == to check if two tags are identical.

The example below shows the results for a set of entity-tag pairs and both the weak and strong comparison function results:

ETag 1 ETag 2 Strong Comparison Weak Comparison
W/"1" W/"1" no match match
W/"1" W/"2" no match no match
W/"1" "1" no match match
"1" "1" match match

Fields

Weakness indicator for the tag

Methods

impl EntityTag
[src]

Constructs a new EntityTag.

Panics

If the tag contains invalid characters.

Constructs a new weak EntityTag.

Panics

If the tag contains invalid characters.

Constructs a new strong EntityTag.

Panics

If the tag contains invalid characters.

Get the tag.

Set the tag.

Panics

If the tag contains invalid characters.

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

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".

The inverse of EntityTag.strong_eq().

The inverse of EntityTag.weak_eq().

Trait Implementations

impl PartialEq<EntityTag> for EntityTag
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Clone for EntityTag
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Eq for EntityTag
[src]

impl Debug for EntityTag
[src]

Formats the value using the given formatter. Read more

impl Display for EntityTag
[src]

Formats the value using the given formatter. Read more

impl FromStr for EntityTag
[src]

The associated error which can be returned from parsing.

Parses a string s to return a value of this type. Read more

Auto Trait Implementations

impl Send for EntityTag

impl Sync for EntityTag

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

Performs the conversion.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

Converts the given value to a String. Read more

impl<T> ToOwned for T where
    T: Clone
[src]

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

impl<T> From for T
[src]

Performs the conversion.

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

impl<T> Borrow for T where
    T: ?Sized
[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut for T where
    T: ?Sized
[src]

Mutably borrows from an owned value. Read more

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

🔬 This is a nightly-only experimental API. (get_type_id)

this method will likely be replaced by an associated static

Gets the TypeId of self. Read more

impl<T> Typeable for T where
    T: Any
[src]

Get the TypeId of this object.