Skip to content

Commit f8fbe48

Browse files
authored
Rework setHeader to prevent duplicates
1 parent b9cef44 commit f8fbe48

1 file changed

Lines changed: 7 additions & 14 deletions

File tree

system/HTTP/Message.php

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -266,23 +266,16 @@ public function getHeaderLine(string $name): string
266266
*/
267267
public function setHeader(string $name, $value)
268268
{
269-
if (! isset($this->headers[$name]))
269+
$origName = $this->getHeaderName($name);
270+
271+
if (isset($this->headers[$origName]) && is_array($this->headers[$origName]))
270272
{
271-
$this->headers[$name] = new Header($name, $value);
272-
273-
$this->headerMap[strtolower($name)] = $name;
274-
275-
return $this;
276-
}
277-
278-
if (! is_array($this->headers[$name]))
279-
{
280-
$this->headers[$name] = [$this->headers[$name]];
273+
$this->appendHeader($origName, $value);
281274
}
282-
283-
if (isset($this->headers[$name]))
275+
else
284276
{
285-
$this->headers[$name] = new Header($name, $value);
277+
$this->headers[$origName] = new Header($origName, $value);
278+
$this->headerMap[strtolower($origName)] = $origName;
286279
}
287280

288281
return $this;

0 commit comments

Comments
 (0)