/** * {@inheritdoc} */ public function setDate(\DateTime $date) { $date->setTimezone(new \DateTimeZone('UTC')); $this->headers->add(HttpHeader::create('Date', $date->format('D, d M Y H:i:s') . ' GMT')); }
/** * Parses the header names and values from globals. * * @return HttpHeaderBag * The headers. */ protected static function parseHeadersFromGlobals() { $bag = new HttpHeaderBag(); $headers = array(); if (function_exists('apache_request_headers')) { $headers = apache_request_headers(); } else { foreach ($_SERVER as $key => $value) { if (strpos($key, 'HTTP_') === 0) { // Generate the plausible header name based on the $name. // Converts 'HTTP_X_FORWARDED_FOR' to 'X-Forwarded-For' $name = substr($key, 5); $parts = explode('_', $name); $parts = array_map('strtolower', $parts); $parts = array_map('ucfirst', $parts); $name = implode('-', $parts); $headers[$name] = $value; } } } // Iterate over the headers and bag them. foreach ($headers as $name => $value) { $bag->add(HttpHeader::create($name, $value)); } return $bag; }