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"
.
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
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 |
Weakness indicator for the tag
Constructs a new EntityTag.
If the tag contains invalid characters.
Constructs a new weak EntityTag.
If the tag contains invalid characters.
Constructs a new strong EntityTag.
If the tag contains invalid characters.
Set the tag.
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()
.
Performs copy-assignment from source
. Read more
The associated error which can be returned from parsing.
Parses a string s
to return a value of this type. Read more
This method tests for self
and other
values to be equal, and is used by ==
. Read more
This method tests for !=
.
Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
Converts the given value to a String
. Read more
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
🔬 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
)
Immutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
🔬 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
)
Mutably borrows from an owned value. Read more
impl<'a, T> TryFrom for T where T: FromStr, | |
impl<T, U> TryInto for T where U: TryFrom<T>, | |
type Err = <U as TryFrom<T>>::Err
Compare self to key
and return true
if they are equal.
impl<T> Typeable for T where T: Any, | |
Get the TypeId
of this object.