Struct actix_web::http::header::EntityTag [−][src]
pub struct EntityTag {
pub weak: bool,
// some fields omitted
}Expand description
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
weak: boolWeakness indicator for the tag
Implementations
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”.
Trait Implementations
type Err = ParseError
type Err = ParseErrorThe associated error which can be returned from parsing.
type Error = InvalidHeaderValue
type Error = InvalidHeaderValueThe type returned in the event of a conversion error.
Try to convert value to a HeaderValue.
Auto Trait Implementations
impl RefUnwindSafe for EntityTagimpl UnwindSafe for EntityTagBlanket Implementations
Mutably borrows from an owned value. Read more
Compare self to key and return true if they are equal.
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
type Output = T
type Output = TShould always be Self
pub fn vzip(self) -> V