pub enum Range {
Bytes(Vec<ByteRangeSpec>),
Unregistered(String, String),
}
Expand description
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 hyperx::header::{Range, ByteRangeSpec, TypedHeaders};
let mut headers = http::HeaderMap::new();
headers.encode(&Range::Bytes(
vec![ByteRangeSpec::FromTo(1, 100), ByteRangeSpec::AllFrom(200)]
));
headers.clear();
headers.encode(&Range::Unregistered("letters".to_owned(), "a-f".to_owned()));
use hyperx::header::{Range, TypedHeaders};
let mut headers = http::HeaderMap::new();
headers.encode(&Range::bytes(1, 100));
headers.clear();
headers.encode(&Range::bytes_multi(vec![(1, 100), (200, 300)]));
Variants§
Bytes(Vec<ByteRangeSpec>)
Byte range
Unregistered(String, String)
Custom range, with unit not registered at IANA
(other-range-unit
: String , other-range-set
: String)
Implementations§
Trait Implementations§
Source§impl Header for Range
impl Header for Range
Source§impl StandardHeader for Range
impl StandardHeader for Range
Source§fn http_header_name() -> HeaderName
fn http_header_name() -> HeaderName
The
HeaderName
from the http crate for this header.impl StructuralPartialEq for Range
Auto Trait Implementations§
impl Freeze for Range
impl RefUnwindSafe for Range
impl Send for Range
impl Sync for Range
impl Unpin for Range
impl UnwindSafe for Range
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more