diff --git a/core/lib/Drupal/Core/EventSubscriber/FinishResponseSubscriber.php b/core/lib/Drupal/Core/EventSubscriber/FinishResponseSubscriber.php index c22107f..3f22250 100644 --- a/core/lib/Drupal/Core/EventSubscriber/FinishResponseSubscriber.php +++ b/core/lib/Drupal/Core/EventSubscriber/FinishResponseSubscriber.php @@ -117,7 +117,9 @@ public function onRespond(FilterResponseEvent $event) { // Expose the cache contexts and cache tags associated with this page in a // X-Drupal-Cache-Contexts and X-Drupal-Cache-Tags header respectively. - if (Settings::get('reverse_proxy', FALSE) && $response instanceof CacheableResponseInterface) { + // We just want to send the cacheability headers in case it is actually + // needed, so a reverse proxy is used, or when we want to debug its values. + if ((Settings::get('reverse_proxy', FALSE) || Settings::get('send_cacheability_headers', FALSE)) && $response instanceof CacheableResponseInterface) { $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()))); diff --git a/core/modules/simpletest/src/WebTestBase.php b/core/modules/simpletest/src/WebTestBase.php index 2ac0d4b..c053110 100644 --- a/core/modules/simpletest/src/WebTestBase.php +++ b/core/modules/simpletest/src/WebTestBase.php @@ -742,6 +742,14 @@ protected function prepareSettings() { 'value' => FALSE, 'required' => TRUE, ]; + + // Enable to send cacheability metadata headers for tests in order to check + // their values. + $settings['settings']['send_cacheability_headers'] = (object) [ + 'value' => TRUE, + 'required' => TRUE, + ]; + $this->writeSettings($settings); // Allow for test-specific overrides. $settings_testing_file = DRUPAL_ROOT . '/' . $this->originalSite . '/settings.testing.php'; diff --git a/sites/example.settings.local.php b/sites/example.settings.local.php index 34b4e19..8abdb00 100644 --- a/sites/example.settings.local.php +++ b/sites/example.settings.local.php @@ -76,3 +76,8 @@ * using these parameters in a request to rebuild.php. */ $settings['rebuild_access'] = TRUE; + +/** + * Send cacheablity metadata for debugging purposes. + */ +$settings['send_cacheability_headers'] = TRUE;