diff --git a/lib/Buzz/Message/AbstractMessage.php b/lib/Buzz/Message/AbstractMessage.php index 5f9d5340..fa51be9c 100644 --- a/lib/Buzz/Message/AbstractMessage.php +++ b/lib/Buzz/Message/AbstractMessage.php @@ -95,7 +95,7 @@ public function toDomDocument() public function setHeaders(array $headers) { - $this->headers = $headers; + $this->headers = $this->flattenHeaders($headers); } public function addHeader($header) @@ -105,7 +105,7 @@ public function addHeader($header) public function addHeaders(array $headers) { - $this->headers = array_merge($this->headers, $headers); + $this->headers = array_merge($this->headers, $this->flattenHeaders($headers)); } public function getHeaders() @@ -133,4 +133,18 @@ public function __toString() return $string; } + + protected function flattenHeaders(array $headers) + { + $flattened = array(); + foreach ($headers as $key => $header) { + if (is_int($key)) { + $flattened[] = $header; + } else { + $flattened[] = $key.': '.$header; + } + } + + return $flattened; + } } diff --git a/lib/Buzz/Message/Request.php b/lib/Buzz/Message/Request.php index 6ef3a3dc..07f6591e 100644 --- a/lib/Buzz/Message/Request.php +++ b/lib/Buzz/Message/Request.php @@ -29,12 +29,8 @@ public function setHeaders(array $headers) { parent::setHeaders(array()); - foreach ($headers as $key => $header) { - if (is_int($key)) { - $this->addHeader($header); - } else { - $this->addHeader($key.': '.$header); - } + foreach ($this->flattenHeaders($headers) as $header) { + $this->addHeader($header); } }