Expand description
If-Range
header, defined
in RFC 7233 §3.2
If a client has a partial copy of a representation and wishes to have an up-to-date copy of the entire representation, it could use the Range header field with a conditional GET (using either or both of If-Unmodified-Since and If-Match.) However, if the precondition fails because the representation has been modified, the client would then have to make a second request to obtain the entire current representation.
The If-Range
header field allows a client to "short-circuit" the
second request. Informally, its meaning is as follows: if the
representation is unchanged, send me the part(s) that I am requesting
in Range; otherwise, send me the entire representation.
ABNF
If-Range = entity-tag / HTTP-date
Example Values
Sat, 29 Oct 1994 19:43:31 GMT
\"xyzzy\"
Examples
use actix_web::HttpResponse;
use actix_web::http::header::{EntityTag, IfRange};
let mut builder = HttpResponse::Ok();
builder.insert_header(
IfRange::EntityTag(
EntityTag::new(false, "abc".to_owned())
)
);
use std::time::{Duration, SystemTime};
use actix_web::{http::header::IfRange, HttpResponse};
let mut builder = HttpResponse::Ok();
let fetched = SystemTime::now() - Duration::from_secs(60 * 60 * 24);
builder.insert_header(
IfRange::Date(fetched.into())
);
Variants
EntityTag(EntityTag)
The entity-tag the client has of the resource.
Date(HttpDate)
The date when the client retrieved the resource.
Trait Implementations
sourceimpl Header for IfRange
impl Header for IfRange
sourcefn name() -> HeaderName
fn name() -> HeaderName
Returns the name of the header field.
sourcefn parse<T>(msg: &T) -> Result<Self, ParseError>where
T: HttpMessage,
fn parse<T>(msg: &T) -> Result<Self, ParseError>where
T: HttpMessage,
Parse the header from a HTTP message.
sourceimpl PartialEq<IfRange> for IfRange
impl PartialEq<IfRange> for IfRange
sourceimpl TryIntoHeaderValue for IfRange
impl TryIntoHeaderValue for IfRange
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 IfRange
impl StructuralEq for IfRange
impl StructuralPartialEq for IfRange
Auto Trait Implementations
impl RefUnwindSafe for IfRange
impl Send for IfRange
impl Sync for IfRange
impl Unpin for IfRange
impl UnwindSafe for IfRange
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