*
  • Returns static::DENY if any of the rules evaluated to static::DENY
  • *
  • Otherwise returns NULL
  • * */ class ChainResponsePolicy implements ChainResponsePolicyInterface { /** * A list of policy rules to apply when this policy is checked. * * @var \Drupal\Core\PageCache\ResponsePolicyInterface[] */ protected $rules = []; /** * {@inheritdoc} */ public function check(Response $response, Request $request) { foreach ($this->rules as $rule) { $result = $rule->check($response, $request); if ($result === static::DENY) { return $result; } elseif (isset($result)) { throw new \UnexpectedValueException('Return value of ResponsePolicyInterface::check() must be one of ResponsePolicyInterface::DENY or NULL'); } } } /** * {@inheritdoc} */ public function addPolicy(ResponsePolicyInterface $policy) { $this->rules[] = $policy; return $this; } }