pub struct CacheOptions {
pub shared: bool,
pub cache_heuristic: f32,
pub immutable_min_time_to_live: Duration,
pub ignore_cargo_cult: bool,
}Expand description
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: f32cache_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: Durationimmutable_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: boolIf 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§
Source§impl Clone for CacheOptions
impl Clone for CacheOptions
Source§fn clone(&self) -> CacheOptions
fn clone(&self) -> CacheOptions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CacheOptions
impl Debug for CacheOptions
Source§impl Default for CacheOptions
impl Default for CacheOptions
Source§fn default() -> CacheOptions
fn default() -> CacheOptions
Source§impl<'de> Deserialize<'de> for CacheOptions
impl<'de> Deserialize<'de> for CacheOptions
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<CacheOptions, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<CacheOptions, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for CacheOptions
impl Serialize for CacheOptions
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Copy for CacheOptions
Auto Trait Implementations§
impl Freeze for CacheOptions
impl RefUnwindSafe for CacheOptions
impl Send for CacheOptions
impl Sync for CacheOptions
impl Unpin for CacheOptions
impl UnwindSafe for CacheOptions
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more