react-http2/src/Header/HeaderBag.php

35 lines
695 B
PHP
Raw Normal View History

2024-02-24 19:44:06 +00:00
<?php
namespace NoccyLabs\React\Http2\Header;
2024-02-25 14:49:14 +00:00
use ArrayIterator;
use IteratorAggregate;
2024-02-24 19:44:06 +00:00
use NoccyLabs\React\Http2\Huffman\Codec;
use NoccyLabs\React\Http2\Huffman\Dictionary;
2024-02-25 14:49:14 +00:00
use Traversable;
2024-02-24 19:44:06 +00:00
/**
* An ordered list of HTTP/2 headers
*
*
*/
2024-02-25 14:49:14 +00:00
class HeaderBag implements IteratorAggregate
2024-02-24 19:44:06 +00:00
{
private array $headers = [];
public function __construct(array $headers = [])
{
foreach ($headers as $name=>$value) $this->append($name, $value);
}
public function append(string $name, string $value)
{
$this->headers[] = [ $name, $value ];
}
2024-02-25 14:49:14 +00:00
public function getIterator(): Traversable
{
return new ArrayIterator($this->headers);
}
2024-02-24 19:44:06 +00:00
}