arch-8.x-1.x-dev/modules/product/src/PageCache/DenyProductPreview.php
modules/product/src/PageCache/DenyProductPreview.php
<?php namespace Drupal\arch_product\PageCache; use Drupal\Core\PageCache\ResponsePolicyInterface; use Drupal\Core\Routing\RouteMatchInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; /** * Cache policy for product preview page. * * This policy rule denies caching of responses generated by the * entity.product.preview route. */ class DenyProductPreview implements ResponsePolicyInterface { /** * The current route match. * * @var \Drupal\Core\Routing\RouteMatchInterface */ protected $routeMatch; /** * Constructs a deny product preview 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 ($this->routeMatch->getRouteName() === 'entity.product.preview') { return static::DENY; } } }