use {
http::*,
std::{sync::*, time::*},
};
pub type CacheDurationHook =
Arc<Box<dyn Fn(CacheDurationHookContext) -> Option<Duration> + Send + Sync>>;
pub struct CacheDurationHookContext<'this> {
pub uri: &'this Uri,
pub headers: &'this HeaderMap,
}
impl<'this> CacheDurationHookContext<'this> {
pub fn new(uri: &'this Uri, headers: &'this HeaderMap) -> Self {
Self { uri, headers }
}
}