[−][src]Struct hyper::header::EntityTag
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: bool
Weakness indicator for the tag
Methods
impl EntityTag
[src]
pub fn new(weak: bool, tag: String) -> EntityTag
[src]
pub fn weak(tag: String) -> EntityTag
[src]
pub fn strong(tag: String) -> EntityTag
[src]
pub fn tag(&self) -> &str
[src]
Get the tag.
pub fn set_tag(&mut self, tag: String)
[src]
pub fn strong_eq(&self, other: &EntityTag) -> bool
[src]
For strong comparison two entity-tags are equivalent if both are not weak and their opaque-tags match character-by-character.
pub fn weak_eq(&self, other: &EntityTag) -> bool
[src]
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".
pub fn strong_ne(&self, other: &EntityTag) -> bool
[src]
The inverse of EntityTag.strong_eq()
.
pub fn weak_ne(&self, other: &EntityTag) -> bool
[src]
The inverse of EntityTag.weak_eq()
.
Trait Implementations
impl Clone for EntityTag
[src]
impl Debug for EntityTag
[src]
impl Display for EntityTag
[src]
impl Eq for EntityTag
[src]
impl FromStr for EntityTag
[src]
type Err = Error
The associated error which can be returned from parsing.
fn from_str(s: &str) -> Result<EntityTag>
[src]
impl PartialEq<EntityTag> for EntityTag
[src]
impl StructuralEq for EntityTag
[src]
impl StructuralPartialEq for EntityTag
[src]
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
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,