function PageCache::handle
Same name in other branches
- 9 core/modules/page_cache/src/StackMiddleware/PageCache.php \Drupal\page_cache\StackMiddleware\PageCache::handle()
- 8.9.x core/modules/page_cache/src/StackMiddleware/PageCache.php \Drupal\page_cache\StackMiddleware\PageCache::handle()
- 10 core/modules/page_cache/src/StackMiddleware/PageCache.php \Drupal\page_cache\StackMiddleware\PageCache::handle()
File
-
core/
modules/ page_cache/ src/ StackMiddleware/ PageCache.php, line 84
Class
- PageCache
- Executes the page caching before the main kernel takes over the request.
Namespace
Drupal\page_cache\StackMiddlewareCode
public function handle(Request $request, $type = self::MAIN_REQUEST, $catch = TRUE) : Response {
// Only allow page caching on master request.
if ($type === static::MAIN_REQUEST && $this->requestPolicy
->check($request) === RequestPolicyInterface::ALLOW) {
$response = $this->lookup($request, $type, $catch);
}
else {
$response = $this->pass($request, $type, $catch);
// Don't indicate non-cacheability on responses to uncacheable requests.
// @see https://tools.ietf.org/html/rfc7231#section-4.2.3
if ($request->isMethodCacheable()) {
$response->headers
->set(static::HEADER, 'UNCACHEABLE (request policy)');
}
}
return $response;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.