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
Formats the value using the given formatter. 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 !=
.