diff --git a/core/lib/Drupal/Core/EventSubscriber/FinishResponseSubscriber.php b/core/lib/Drupal/Core/EventSubscriber/FinishResponseSubscriber.php index 747262c..431eb06 100644 --- a/core/lib/Drupal/Core/EventSubscriber/FinishResponseSubscriber.php +++ b/core/lib/Drupal/Core/EventSubscriber/FinishResponseSubscriber.php @@ -156,6 +156,7 @@ public function onRespond(FilterResponseEvent $event) { $response_cacheability = $response->getCacheableMetadata(); $response->headers->set('X-Drupal-Cache-Tags', implode(' ', $response_cacheability->getCacheTags())); $response->headers->set('X-Drupal-Cache-Contexts', implode(' ', $this->cacheContextsManager->optimizeTokens($response_cacheability->getCacheContexts()))); + $response->headers->set('X-Drupal-Cache-Max-Age', $response_cacheability->getCacheMaxAge()); } $is_cacheable = ($this->requestPolicy->check($request) === RequestPolicyInterface::ALLOW) && ($this->responsePolicy->check($response, $request) !== ResponsePolicyInterface::DENY); diff --git a/sites/default/default.services.yml b/sites/default/default.services.yml index e1bbbc7..816df3d 100644 --- a/sites/default/default.services.yml +++ b/sites/default/default.services.yml @@ -118,7 +118,8 @@ parameters: # Cacheability debugging: # # Responses with cacheability metadata (CacheableResponseInterface instances) - # get X-Drupal-Cache-Tags and X-Drupal-Cache-Contexts headers. + # get X-Drupal-Cache-Tags, X-Drupal-Cache-Contexts and X-Drupal-Max-Age + # headers. # # For more information about debugging cacheable responses, see # https://www.drupal.org/developing/api/8/response/cacheable-response-interface