private function RequestDataCollector::getCookieHeader

1 call to RequestDataCollector::getCookieHeader()
RequestDataCollector::collect in drupal/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php
Collects data for the given Request and Response.

File

drupal/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php, line 251

Class

RequestDataCollector
RequestDataCollector.

Namespace

Symfony\Component\HttpKernel\DataCollector

Code

private function getCookieHeader($name, $value, $expires, $path, $domain, $secure, $httponly) {
  $cookie = sprintf('%s=%s', $name, urlencode($value));
  if (0 !== $expires) {
    if (is_numeric($expires)) {
      $expires = (int) $expires;
    }
    elseif ($expires instanceof \DateTime) {
      $expires = $expires
        ->getTimestamp();
    }
    else {
      $expires = strtotime($expires);
      if (false === $expires || -1 == $expires) {
        throw new \InvalidArgumentException(sprintf('The "expires" cookie parameter is not valid.', $expires));
      }
    }
    $cookie .= '; expires=' . substr(\DateTime::createFromFormat('U', $expires, new \DateTimeZone('UTC'))
      ->format('D, d-M-Y H:i:s T'), 0, -5);
  }
  if ($domain) {
    $cookie .= '; domain=' . $domain;
  }
  $cookie .= '; path=' . $path;
  if ($secure) {
    $cookie .= '; secure';
  }
  if ($httponly) {
    $cookie .= '; httponly';
  }
  return $cookie;
}