[][src]Enum websocket::header::Range

pub enum Range {
    Bytes(Vec<ByteRangeSpec>),
    Unregistered(StringString),
}

Range header, defined in RFC7233

The "Range" header field on a GET request modifies the method semantics to request transfer of only one or more subranges of the selected representation data, rather than the entire selected representation data.

ABNF

Range =	byte-ranges-specifier / other-ranges-specifier
other-ranges-specifier = other-range-unit "=" other-range-set
other-range-set = 1*VCHAR

bytes-unit = "bytes"

byte-ranges-specifier = bytes-unit "=" byte-range-set
byte-range-set = 1#(byte-range-spec / suffix-byte-range-spec)
byte-range-spec = first-byte-pos "-" [last-byte-pos]
first-byte-pos = 1*DIGIT
last-byte-pos = 1*DIGIT

Example values

  • bytes=1000-
  • bytes=-2000
  • bytes=0-1,30-40
  • bytes=0-10,20-90,-100
  • custom_unit=0-123
  • custom_unit=xxx-yyy

Examples

use hyper::header::{Headers, Range, ByteRangeSpec};

let mut headers = Headers::new();
headers.set(Range::Bytes(
    vec![ByteRangeSpec::FromTo(1, 100), ByteRangeSpec::AllFrom(200)]
));

headers.clear();
headers.set(Range::Unregistered("letters".to_owned(), "a-f".to_owned()));
use hyper::header::{Headers, Range};

let mut headers = Headers::new();
headers.set(Range::bytes(1, 100));

headers.clear();
headers.set(Range::bytes_multi(vec![(1, 100), (200, 300)]));

Variants

Bytes(Vec<ByteRangeSpec>)

Byte range

Unregistered(StringString)

Custom range, with unit not registered at IANA (other-range-unit: String , other-range-set: String)

Methods

impl Range[src]

pub fn bytes(from: u64, to: u64) -> Range[src]

Get the most common byte range header ("bytes=from-to")

pub fn bytes_multi(ranges: Vec<(u64, u64)>) -> Range[src]

Get byte range header with multiple subranges ("bytes=from1-to1,from2-to2,fromX-toX")

Trait Implementations

impl Debug for Range[src]

impl Display for Range[src]

impl PartialEq<Range> for Range[src]

impl HeaderFormat for Range[src]

impl Header for Range[src]

impl Clone for Range[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl FromStr for Range[src]

type Err = Error

The associated error which can be returned from parsing.

Auto Trait Implementations

impl Sync for Range

impl Unpin for Range

impl Send for Range

impl UnwindSafe for Range

impl RefUnwindSafe for Range

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> HeaderClone for T where
    T: Sealed, 
[src]

impl<T> Typeable for T where
    T: Any

fn get_type(&self) -> TypeId

Get the TypeId of this object.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

impl<T> Erased for T