Enum iron::headers::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

Examples

use hyper::header::{Headers, IfRange, EntityTag};

let mut headers = Headers::new();
headers.set(IfRange::EntityTag(EntityTag::new(false, "xyzzy".to_owned())));
// 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))));

Variants

The entity-tag the client has of the resource

The date when the client retrieved the resource

Trait Implementations

impl PartialEq<IfRange> for IfRange

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Debug for IfRange

Formats the value using the given formatter.

impl Clone for IfRange

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

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 HeaderFormat for IfRange

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

impl Display for IfRange

Formats the value using the given formatter.