[][src]Struct surf::http::cache::Expires

pub struct Expires { /* fields omitted */ }

HTTP Expires header

Specifications

Examples

use http_types::Response;
use http_types::cache::Expires;
use std::time::{SystemTime, Duration};

let time = SystemTime::now() + Duration::from_secs(5 * 60);
let expires = Expires::new_at(time);

let mut res = Response::new(200);
expires.apply(&mut res);

let expires = Expires::from_headers(res)?.unwrap();

// HTTP dates only have second-precision.
let elapsed = time.duration_since(expires.expiration())?;
assert_eq!(elapsed.as_secs(), 0);

Implementations

impl Expires[src]

pub fn new(dur: Duration) -> Expires[src]

Create a new instance of Expires.

pub fn new_at(instant: SystemTime) -> Expires[src]

Create a new instance of Expires from secs.

pub fn expiration(&self) -> SystemTime[src]

Get the expiration time.

pub fn from_headers(
    headers: impl AsRef<Headers>
) -> Result<Option<Expires>, Error>
[src]

Create an instance of Expires from a Headers instance.

pub fn apply(&self, headers: impl AsMut<Headers>)[src]

Insert a HeaderName + HeaderValue pair into a Headers instance.

pub fn name(&self) -> HeaderName[src]

Get the HeaderName.

pub fn value(&self) -> HeaderValue[src]

Get the HeaderValue.

Trait Implementations

impl Debug for Expires[src]

impl Eq for Expires[src]

impl Ord for Expires[src]

impl PartialEq<Expires> for Expires[src]

impl PartialOrd<Expires> for Expires[src]

impl StructuralEq for Expires[src]

impl StructuralPartialEq for Expires[src]

impl ToHeaderValues for Expires[src]

type Iter = IntoIter<HeaderValue>

Returned iterator over header values which this type may correspond to.

Auto Trait Implementations

impl RefUnwindSafe for Expires

impl Send for Expires

impl Sync for Expires

impl Unpin for Expires

impl UnwindSafe for Expires

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

impl<T> WithSubscriber for T[src]