headers[$nameLower])) $this->headers[$nameLower] = [$name]; $this->headers[$nameLower][] = $value; } public function setHeader(string $name, mixed $value): void { $this->headers[strtolower($name)] = [$name, $value]; } public function removeHeader(string $name): void { unset($this->headers[strtolower($name)]); } public function hasHeader(string $name): bool { return isset($this->headers[strtolower($name)]); } public function toHeaders(): HttpHeaders { $headers = []; foreach($this->headers as $index => $lines) $headers[] = new HttpHeader(array_shift($lines), ...$lines); return new HttpHeaders($headers); } }