Struct headers::ContentRange
source · pub struct ContentRange { /* private fields */ }
Expand description
Content-Range, described in RFC7233
ABNF
Content-Range = byte-content-range
/ other-content-range
byte-content-range = bytes-unit SP
( byte-range-resp / unsatisfied-range )
byte-range-resp = byte-range "/" ( complete-length / "*" )
byte-range = first-byte-pos "-" last-byte-pos
unsatisfied-range = "*/" complete-length
complete-length = 1*DIGIT
other-content-range = other-range-unit SP other-range-resp
other-range-resp = *CHAR
Example
use headers::ContentRange;
// 100 bytes (included byte 199), with a full length of 3,400
let cr = ContentRange::bytes(100..200, 3400).unwrap();
Implementations§
source§impl ContentRange
impl ContentRange
sourcepub fn bytes(
range: impl RangeBounds<u64>,
complete_length: impl Into<Option<u64>>
) -> Result<ContentRange, InvalidContentRange>
pub fn bytes( range: impl RangeBounds<u64>, complete_length: impl Into<Option<u64>> ) -> Result<ContentRange, InvalidContentRange>
Construct a new Content-Range: bytes ..
header.
sourcepub fn unsatisfied_bytes(complete_length: u64) -> Self
pub fn unsatisfied_bytes(complete_length: u64) -> Self
Create a new ContentRange
stating the range could not be satisfied.
The passed argument is the complete length of the entity.
sourcepub fn bytes_range(&self) -> Option<(u64, u64)>
pub fn bytes_range(&self) -> Option<(u64, u64)>
Get the byte range if satisified.
Note that these byte ranges are inclusive on both ends.
Trait Implementations§
source§impl Clone for ContentRange
impl Clone for ContentRange
source§fn clone(&self) -> ContentRange
fn clone(&self) -> ContentRange
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for ContentRange
impl Debug for ContentRange
source§impl Header for ContentRange
impl Header for ContentRange
source§impl PartialEq for ContentRange
impl PartialEq for ContentRange
source§fn eq(&self, other: &ContentRange) -> bool
fn eq(&self, other: &ContentRange) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for ContentRange
Auto Trait Implementations§
impl RefUnwindSafe for ContentRange
impl Send for ContentRange
impl Sync for ContentRange
impl Unpin for ContentRange
impl UnwindSafe for ContentRange
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