headless_cms-1.0.3/modules/headless_cms_preview/src/PageCache/RequestPolicy/HeadlessPreviewRequestPolicy.php
modules/headless_cms_preview/src/PageCache/RequestPolicy/HeadlessPreviewRequestPolicy.php
<?php
declare(strict_types=1);
namespace Drupal\headless_cms_preview\PageCache\RequestPolicy;
use Drupal\Core\PageCache\RequestPolicyInterface;
use Drupal\headless_cms_preview\PreviewToken\PreviewTokenNegotiator;
use Symfony\Component\HttpFoundation\Request;
/**
* Request policy for headless previews.
*/
class HeadlessPreviewRequestPolicy implements RequestPolicyInterface {
public function __construct(
protected readonly PreviewTokenNegotiator $previewTokenNegotiator,
) {}
/**
* {@inheritdoc}
*/
public function check(Request $request) {
if ($this->previewTokenNegotiator->requestHasPreviewToken($request)) {
return static::DENY;
}
return NULL;
}
}
