Index: Zend/Http/Client.php =================================================================== --- Zend/Http/Client.php (revision 6552) +++ Zend/Http/Client.php (working copy) @@ -308,17 +308,18 @@ * @param string|array $name Header name, full header string ('Header: value') * or an array of headers * @param mixed $value Header value or null + * @param bool $strict Validate the header name or not * @return Zend_Http_Client */ - public function setHeaders($name, $value = null) + public function setHeaders($name, $value = null, $strict = true) { // If we got an array, go recusive! if (is_array($name)) { foreach ($name as $k => $v) { if (is_string($k)) { - $this->setHeaders($k, $v); + $this->setHeaders($k, $v, $strict); } else { - $this->setHeaders($v, null); + $this->setHeaders($v, null, $strict); } } } else { @@ -327,7 +328,7 @@ list($name, $value) = explode(':', $name, 2); // Make sure the name is valid - if (! preg_match('/^[a-zA-Z0-9-]+$/', $name)) { + if ($strict && ! preg_match('/^[a-zA-Z0-9-]+$/', $name)) { throw new Zend_Http_Client_Exception("{$name} is not a valid HTTP header name"); }