diff --git a/core/core.services.yml b/core/core.services.yml index 21a6b74..4eb462c 100644 --- a/core/core.services.yml +++ b/core/core.services.yml @@ -231,11 +231,6 @@ services: public: false tags: - { name: page_cache_response_policy } - page_cache_deny_non_cacheable: - class: Drupal\Core\PageCache\ResponsePolicy\DenyNonCacheableResponse - public: false - tags: - - { name: page_cache_response_policy } page_cache_no_server_error: class: Drupal\Core\PageCache\ResponsePolicy\NoServerError public: false diff --git a/core/lib/Drupal/Core/EventSubscriber/FinishResponseSubscriber.php b/core/lib/Drupal/Core/EventSubscriber/FinishResponseSubscriber.php index 48b53bd..94e64a4 100644 --- a/core/lib/Drupal/Core/EventSubscriber/FinishResponseSubscriber.php +++ b/core/lib/Drupal/Core/EventSubscriber/FinishResponseSubscriber.php @@ -125,7 +125,7 @@ public function onRespond(FilterResponseEvent $event) { $response->headers->set('X-Drupal-Cache-Contexts', implode(' ', $this->cacheContextsManager->optimizeTokens($response_cacheability->getCacheContexts()))); } - $is_cacheable = ($this->requestPolicy->check($request) === RequestPolicyInterface::ALLOW) && ($this->responsePolicy->check($response, $request) !== ResponsePolicyInterface::DENY); + $is_cacheable = ($response instanceof CacheableResponseInterface && $this->requestPolicy->check($request) === RequestPolicyInterface::ALLOW) && ($this->responsePolicy->check($response, $request) !== ResponsePolicyInterface::DENY); // Add headers necessary to specify whether the response should be cached by // proxies and/or the browser. diff --git a/core/lib/Drupal/Core/PageCache/ResponsePolicy/DenyNonCacheableResponse.php b/core/lib/Drupal/Core/PageCache/ResponsePolicy/DenyNonCacheableResponse.php deleted file mode 100644 index bb48c71..0000000 --- a/core/lib/Drupal/Core/PageCache/ResponsePolicy/DenyNonCacheableResponse.php +++ /dev/null @@ -1,29 +0,0 @@ -