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
Formats the value using the given formatter. 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
The associated error which can be returned from parsing.
Parses a string s
to return a value of this type. Read more