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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 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.