pub enum Range {
Bytes(Vec<ByteRangeSpec>),
Unregistered(String, String),
}
Expand description
Range
header, defined
in RFC 7233 §3.1
The “Range” header field on a GET request modifies the method semantics to request transfer of only one or more sub-ranges 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]
suffix-byte-range-spec = "-" suffix-length
suffix-length = 1*DIGIT
first-byte-pos = 1*DIGIT
last-byte-pos = 1*DIGIT
Example Values
bytes=1000-
bytes=-50
bytes=0-1,30-40
bytes=0-10,20-90,-100
custom_unit=0-123
custom_unit=xxx-yyy
Examples
use actix_web::http::header::{Range, ByteRangeSpec};
use actix_web::HttpResponse;
let mut builder = HttpResponse::Ok();
builder.insert_header(Range::Bytes(
vec![ByteRangeSpec::FromTo(1, 100), ByteRangeSpec::From(200)]
));
builder.insert_header(Range::Unregistered("letters".to_owned(), "a-f".to_owned()));
builder.insert_header(Range::bytes(1, 100));
builder.insert_header(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
sourceimpl FromStr for Range
impl FromStr for Range
type Err = ParseError
type Err = ParseError
The associated error which can be returned from parsing.
sourceimpl Header for Range
impl Header for Range
sourcefn name() -> HeaderName
fn name() -> HeaderName
Returns the name of the header field.
sourcefn parse<T: HttpMessage>(msg: &T) -> Result<Self, ParseError>
fn parse<T: HttpMessage>(msg: &T) -> Result<Self, ParseError>
Parse the header from a HTTP message.
sourceimpl PartialEq<Range> for Range
impl PartialEq<Range> for Range
sourceimpl TryIntoHeaderValue for Range
impl TryIntoHeaderValue for Range
type Error = InvalidHeaderValue
type Error = InvalidHeaderValue
The type returned in the event of a conversion error.
sourcefn try_into_value(self) -> Result<HeaderValue, Self::Error>
fn try_into_value(self) -> Result<HeaderValue, Self::Error>
Try to convert value to a HeaderValue.
impl Eq for Range
impl StructuralEq for Range
impl StructuralPartialEq for Range
Auto Trait Implementations
impl RefUnwindSafe for Range
impl Send for Range
impl Sync for Range
impl Unpin for Range
impl UnwindSafe for Range
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> TryIntoHeaderPair for Twhere
T: Header,
impl<T> TryIntoHeaderPair for Twhere
T: Header,
type Error = <T as TryIntoHeaderValue>::Error
fn try_into_pair(
self
) -> Result<(HeaderName, HeaderValue), <T as TryIntoHeaderPair>::Error>
impl<V, T> VZip<V> for Twhere
V: MultiLane<T>,
impl<V, T> VZip<V> for Twhere
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more