pub struct EntityTag {
pub weak: bool,
/* private fields */
}
Expand description
An entity tag, defined in RFC 7232 §2.3
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: bool
Weakness indicator for the tag
Implementations
sourceimpl EntityTag
impl EntityTag
sourcepub fn strong_eq(&self, other: &EntityTag) -> bool
pub fn strong_eq(&self, other: &EntityTag) -> bool
For strong comparison two entity-tags are equivalent if both are not weak and their opaque-tags match character-by-character.
Trait Implementations
sourceimpl FromStr for EntityTag
impl FromStr for EntityTag
type Err = ParseError
type Err = ParseError
The associated error which can be returned from parsing.
sourceimpl TryIntoHeaderValue for EntityTag
impl TryIntoHeaderValue for EntityTag
type Error = InvalidHeaderValue
type Error = InvalidHeaderValue
The type returned in the event of a conversion error.
sourcefn try_into_value(self) -> Result<HeaderValue, Self::Error>
fn try_into_value(self) -> Result<HeaderValue, Self::Error>
Try to convert value to a HeaderValue.
impl Eq for EntityTag
impl StructuralEq for EntityTag
impl StructuralPartialEq for EntityTag
Auto Trait Implementations
impl RefUnwindSafe for EntityTag
impl Send for EntityTag
impl Sync for EntityTag
impl Unpin for EntityTag
impl UnwindSafe for EntityTag
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more