/** * {@inheritDoc} */ public function normalize(array $headers) { $raw = []; foreach ($headers as $name => $value) { if (is_int($name)) { list($name, $value) = explode(":", $value, 2); } $name = Utils::normalizeHeaderName($name, $this->stripX); $value = trim($value); $raw[] = "{$name}: {$value}"; } return $raw; }
/** * {@inheritDoc} */ public function parse($headers, &$options = null) { $methods = HttpMethods::getValues(); $methods = join("|", $methods); $regex = "~^({$methods})\\b~i"; $parsed = []; $lines = preg_split("/\\R/", $headers); foreach ($lines as $line) { if (preg_match($regex, $line)) { $options = $line; } else { if (preg_match("~^HTTP/~", $line)) { $options = $line; } else { if (!empty($line)) { list($name, $value) = preg_split("/:\\S*/", $line, 2); $name = Utils::normalizeHeaderName($name); $parsed[$name] = trim($value); } } } } return $parsed; }
/** * @covers Headzoo\Web\Tools\Utils::normalizeHeaderName * @dataProvider providerNormalizeHeaderName_InvalidArgument * @expectedException Headzoo\Web\Tools\Exceptions\InvalidArgumentException */ public function testNormalizeHeaderName_InvalidArgument($header) { Utils::normalizeHeaderName($header); }