LibWeb: Respect "no-store" directive in cache-control header

This commit is contained in:
Daniel 2023-06-22 15:11:23 -04:00 committed by Andreas Kling
parent cd08515957
commit d8c1150f6b

View file

@ -330,6 +330,11 @@ void ResourceLoader::load(LoadRequest& request, Function<void(ReadonlyBytes, Has
if (request.page().has_value()) {
if (auto set_cookie = response_headers.get("Set-Cookie"); set_cookie.has_value())
store_response_cookies(request.page().value(), request.url(), *set_cookie);
if (auto cache_control = response_headers.get("cache-control"); cache_control.has_value()) {
if (cache_control.value().contains("no-store"sv)) {
s_resource_cache.remove(request);
}
}
}
if (!success || (status_code.has_value() && *status_code >= 400 && *status_code <= 599 && (payload.is_empty() || !request.is_main_resource()))) {