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.
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
bytes=1000-
bytes=-2000
bytes=0-1,30-40
bytes=0-10,20-90,-100
custom_unit=0-123
custom_unit=xxx-yyy
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)]));
Custom range, with unit not registered at IANA
(other-range-unit: String , other-range-set: String)
Get the most common byte range header ("bytes=from-to")
Get byte range header with multiple subranges
("bytes=from1-to1,from2-to2,fromX-toX")
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=.
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The associated error which can be returned from parsing.
Parses a string s to return a value of this type. Read more
Returns the name of the header field this belongs to. Read more
Parse a header from a raw stream of bytes. Read more
Format a header to be output into a TcpStream. Read more