Struct http_cache_semantics::CacheOptions [−][src]
pub struct CacheOptions { pub shared: bool, pub cache_heuristic: f32, pub immutable_min_time_to_live: Duration, pub ignore_cargo_cult: bool, }
Configuration options which control behavior of the cache. Use with CachePolicy::new_options()
.
Fields
If true
(default), then the response is evaluated from a
perspective of a shared cache (i.e. private
is not cacheable and
s-maxage
is respected). If shared
is false
, then the response is
evaluated from a perspective of a single-user cache (i.e. private
is
cacheable and s-maxage
is ignored). shared: true
is required
for proxies and multi-user caches.
cache_heuristic: f32
cache_heuristic
is a fraction of response’s age that is used as a
fallback cache duration. The default is 0.1 (10%), e.g. if a file
hasn’t been modified for 100 days, it’ll be cached for 100*0.1 = 10
days.
immutable_min_time_to_live: Duration
immutable_min_time_to_live
is a duration to assume as the
default time to cache responses with Cache-Control: immutable
. Note
that per RFC these can become stale, so max-age
still overrides the
default.
ignore_cargo_cult: bool
If ignore_cargo_cult
is true
, common anti-cache directives will be
completely ignored if the non-standard pre-check
and post-check
directives are present. These two useless directives are most commonly
found in bad StackOverflow answers and PHP’s “session limiter”
defaults.
Trait Implementations
impl Clone for CacheOptions
[src]
impl Clone for CacheOptions
[src]fn clone(&self) -> CacheOptions
[src]
fn clone(&self) -> CacheOptions
[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]Performs copy-assignment from source
. Read more
impl Debug for CacheOptions
[src]
impl Debug for CacheOptions
[src]impl Default for CacheOptions
[src]
impl Default for CacheOptions
[src]impl<'de> Deserialize<'de> for CacheOptions
[src]
impl<'de> Deserialize<'de> for CacheOptions
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
impl Serialize for CacheOptions
[src]
impl Serialize for CacheOptions
[src]impl Copy for CacheOptions
[src]
Auto Trait Implementations
impl RefUnwindSafe for CacheOptions
impl Send for CacheOptions
impl Sync for CacheOptions
impl Unpin for CacheOptions
impl UnwindSafe for CacheOptions
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,