public DynamicPageCacheSubscriber::onRouteMatch(GetResponseEvent $event)
Sets a response in case of a Dynamic Page Cache hit.
Parameters
\Symfony\Component\HttpKernel\Event\GetResponseEvent $event: The event to process.
File
- core/modules/dynamic_page_cache/src/EventSubscriber/DynamicPageCacheSubscriber.php, line 125
Class
- DynamicPageCacheSubscriber
- Returns cached responses as early and avoiding as much work as possible.
Namespace
Drupal\dynamic_page_cache\EventSubscriber
Code
public function onRouteMatch(GetResponseEvent $event) { // Don't cache the response if the Dynamic Page Cache request policies are // not met. Store the result in a static keyed by current request, so that // onResponse() does not have to redo the request policy check. $request = $event->getRequest(); $request_policy_result = $this->requestPolicy->check($request); $this->requestPolicyResults[$request] = $request_policy_result; if ($request_policy_result === RequestPolicyInterface::DENY) { return; } // Sets the response for the current route, if cached. $cached = $this->renderCache->get($this->dynamicPageCacheRedirectRenderArray); if ($cached) { $response = $this->renderArrayToResponse($cached); $response->headers->set(self::HEADER, 'HIT'); $event->setResponse($response); } }
Please login to continue.