public function ChainResponsePolicy::check

public ChainResponsePolicy::check(Response $response, Request $request)

Determines whether it is save to store a page in the cache.

Parameters

\Symfony\Component\HttpFoundation\Response $response: The response which is about to be sent to the client.

\Symfony\Component\HttpFoundation\Request $request: The request object.

Return value

string|NULL Either static::DENY or NULL. Calling code may attempt to store a page in the cache unless static::DENY is returned. Returns NULL if the policy policy is not specified for the given response.

Overrides ResponsePolicyInterface::check

File

core/lib/Drupal/Core/PageCache/ChainResponsePolicy.php, line 32

Class

ChainResponsePolicy
Implements a compound response policy.

Namespace

Drupal\Core\PageCache

Code

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');
    }
  }
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!PageCache!ChainResponsePolicy.php/function/ChainResponsePolicy::check/8.1.x