43 struct DefaultOptions {
44 DefaultOptions () =
default;
46 optional<size_t> fCacheSize;
51 optional<Time::Duration> fDefaultResourceTTL;
55 static const inline String kCachedResultHeaderDefault{
"X-Stroika-Cached-Result"sv};
61 optional<String> fCachedResultHeader{kCachedResultHeaderDefault};
117 optional<String> fETag;
118 optional<Time::DateTime> fExpires;
119 optional<Time::DateTime> fExpiresDueToMaxAge;
120 optional<Time::DateTime> fLastModified;
121 optional<Containers::Set<String>> fCacheControl;
123 optional<DataExchange::InternetMediaType> fContentType;
134 optional<Element> fCachedElement;
135 optional<URI> fFullURI;
142 virtual ~IRep () =
default;
147 virtual optional<Response> OnBeforeFetch (
EvalContext* context,
const URI& schemeAndAuthority,
Request* request)
noexcept = 0;
158 virtual void ClearCache () = 0;
162 virtual optional<Element> Lookup (
const URI& url)
const = 0;
167 struct Ptr : shared_ptr<Cache::IRep> {};