Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 2 |
CRAP | |
0.00% |
0 / 6 |
DenyAdminRoutes | |
0.00% |
0 / 1 |
|
0.00% |
0 / 2 |
20 | |
0.00% |
0 / 6 |
__construct | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
check | |
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 4 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\dynamic_page_cache\PageCache\ResponsePolicy\DenyAdminRoutes. | |
*/ | |
namespace Drupal\dynamic_page_cache\PageCache\ResponsePolicy; | |
use Drupal\Core\PageCache\ResponsePolicyInterface; | |
use Drupal\Core\Routing\RouteMatchInterface; | |
use Symfony\Component\HttpFoundation\Request; | |
use Symfony\Component\HttpFoundation\Response; | |
/** | |
* Cache policy for routes with the '_admin_route' option set. | |
* | |
* This policy rule denies caching of responses generated for admin routes, | |
* because admin routes have very low cache hit ratios due to low traffic and | |
* form submissions. | |
*/ | |
class DenyAdminRoutes implements ResponsePolicyInterface { | |
/** | |
* The current route match. | |
* | |
* @var \Drupal\Core\Routing\RouteMatchInterface | |
*/ | |
protected $routeMatch; | |
/** | |
* Constructs a deny admin route page cache policy. | |
* | |
* @param \Drupal\Core\Routing\RouteMatchInterface $route_match | |
* The current route match. | |
*/ | |
public function __construct(RouteMatchInterface $route_match) { | |
$this->routeMatch = $route_match; | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function check(Response $response, Request $request) { | |
if (($route = $this->routeMatch->getRouteObject()) && $route->getOption('_admin_route')) { | |
return static::DENY; | |
} | |
} | |
} |