Enum reqwest::header::IfRange [] [src]

pub enum IfRange {
    EntityTag(EntityTag),
    Date(HttpDate),
}

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 hyper::header::{Headers, IfRange, EntityTag};

let mut headers = Headers::new();
headers.set(IfRange::EntityTag(EntityTag::new(false, "xyzzy".to_owned())));Run
// extern crate time;

use hyper::header::{Headers, IfRange, HttpDate};
use time::{self, Duration};

let mut headers = Headers::new();
headers.set(IfRange::Date(HttpDate(time::now() - Duration::days(1))));Run

Variants

The entity-tag the client has of the resource

The date when the client retrieved the resource

Trait Implementations

impl Display for IfRange

impl Debug for IfRange

Formats the value using the given formatter.

impl PartialEq<IfRange> for IfRange

impl Header for IfRange

Returns the name of the header field this belongs to. Read more

Parse a header from a raw stream of bytes. Read more

impl Clone for IfRange

impl HeaderFormat for IfRange

Format a header to be output into a TcpStream. Read more