Enum hyperx::header::IfRange [−][src]
Expand description
If-Range
header, defined in RFC7233
If a client has a partial copy of a representation and wishes to have an up-to-date copy of the entire representation, it could use the Range header field with a conditional GET (using either or both of If-Unmodified-Since and If-Match.) However, if the precondition fails because the representation has been modified, the client would then have to make a second request to obtain the entire current representation.
The If-Range
header field allows a client to "short-circuit" the
second request. Informally, its meaning is as follows: if the
representation is unchanged, send me the part(s) that I am requesting
in Range; otherwise, send me the entire representation.
ABNF
If-Range = entity-tag / HTTP-date
Example values
Sat, 29 Oct 1994 19:43:31 GMT
\"xyzzy\"
Examples
use hyperx::header::{IfRange, EntityTag, TypedHeaders};
let mut headers = http::HeaderMap::new();
headers.encode(&IfRange::EntityTag(EntityTag::new(false, "xyzzy".to_owned())));
use hyperx::header::{IfRange, TypedHeaders};
use std::time::{SystemTime, Duration};
let mut headers = http::HeaderMap::new();
let fetched = SystemTime::now() - Duration::from_secs(60 * 60 * 24);
headers.encode(&IfRange::Date(fetched.into()));
Variants
EntityTag(EntityTag)
The entity-tag the client has of the resource
Tuple Fields of EntityTag
0: EntityTag
Date(HttpDate)
The date when the client retrieved the resource
Tuple Fields of Date
0: HttpDate
Trait Implementations
The HeaderName
from the http crate for this header.
Auto Trait Implementations
impl RefUnwindSafe for IfRange
impl UnwindSafe for IfRange
Blanket Implementations
Mutably borrows from an owned value. Read more