pub struct CacheOptions {
pub shared: bool,
pub cache_heuristic: f32,
pub immutable_min_time_to_live: Duration,
pub ignore_cargo_cult: bool,
}
Expand description
Options struct provided by
http-cache-semantics
.
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§
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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