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().
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=.
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