refreshless-8.x-1.x-dev/src/Service/RefreshlessKillSwitch.php

src/Service/RefreshlessKillSwitch.php
<?php

declare(strict_types=1);

namespace Drupal\refreshless\Service;

use Drupal\refreshless\Service\RefreshlessKillSwitchInterface;

/**
 * Service to disable RefreshLess for a request.
 *
 * This functions similarly to Drupal core's page cache kill switch: it can only
 * be triggered by one or more calls and cannot be un-triggered once done so.
 *
 * This is best triggered as early as possible during a request so that all
 * RefreshLess alterations to the response are prevented. A recommended place
 * to do this is in a custom HTTP middleware based on request headers, cookies,
 * etc.
 *
 * @see \Drupal\Core\PageCache\ResponsePolicy\KillSwitch
 */
class RefreshlessKillSwitch implements RefreshlessKillSwitchInterface {

  /**
   * Whether the kill switch was triggered at least once during this request.
   *
   * @var boolean
   */
  protected bool $triggered = false;

  /**
   * {@inheritdoc}
   */
  public function trigger(): void {
    $this->triggered = true;
  }

  /**
   * {@inheritdoc}
   */
  public function triggered(): bool {
    return $this->triggered;
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc