This commit is contained in:
Mateusz Gruszczyński committed 2026-10-25 10:19:42 +01:00
1 parent a4042d6439
commit bd077754a9
4 files changed
+24 -41

No files matched your search

+13 -10
View File
@@ -72,12 +72,18 @@
let cached_revalidation = if let Some(ticket) = cache_ticket.as_ref() {
state.cache.revalidation_tiered(ticket).await
} else { None };
let freshness_headers = crate::cache::request_freshness_headers(
&request_headers, cache_settings,
);
let needs_validation = policy.revalidation_reason().is_some()
|| cached_revalidation.as_ref().is_some_and(|cached|
!cached.reusable_for_request(&freshness_headers));
let (needs_validation, request_forces_validation) = {
let freshness_headers = crate::cache::request_freshness_headers(
&request_headers, cache_settings,
);
let freshness_revalidation_requested = cached_revalidation.as_ref().is_some_and(|cached|
cached.request_freshness_revalidation_reason(&freshness_headers).is_some());
let needs_validation = policy.revalidation_reason().is_some()
|| cached_revalidation.as_ref().is_some_and(|cached|
!cached.reusable_for_request(&freshness_headers));
(needs_validation,
policy.revalidation_reason().is_some() || freshness_revalidation_requested)
};
if let Some(ticket) = &cache_ticket {
if !needs_validation {
if let Some(mut hit) = state.cache.get_tiered(ticket, cache_settings).await {
@@ -260,10 +266,7 @@
if let Some(cached) = &cached_revalidation {
cache_settings.annotate_reason_transformed_forwarded(
response.headers_mut(), outcome, 0, 0, reason, transformed,
cached.cache_status_forward_reason(
policy.revalidation_reason().is_some()
|| cached.request_freshness_revalidation_reason(&freshness_headers).is_some(),
),
cached.cache_status_forward_reason(request_forces_validation),
None,
);
} else {