| | <?php |
| | |
| | |
| | |
| | |
| | |
| |
|
| | namespace WpOrg\Requests\Utility; |
| |
|
| | use ArrayAccess; |
| | use ArrayIterator; |
| | use IteratorAggregate; |
| | use ReturnTypeWillChange; |
| | use WpOrg\Requests\Exception; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | class CaseInsensitiveDictionary implements ArrayAccess, IteratorAggregate { |
| | |
| | |
| | |
| | |
| | |
| | protected $data = []; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | public function __construct(array $data = []) { |
| | foreach ($data as $offset => $value) { |
| | $this->offsetSet($offset, $value); |
| | } |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | #[ReturnTypeWillChange] |
| | public function offsetExists($offset) { |
| | if (is_string($offset)) { |
| | $offset = strtolower($offset); |
| | } |
| |
|
| | return isset($this->data[$offset]); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | #[ReturnTypeWillChange] |
| | public function offsetGet($offset) { |
| | if (is_string($offset)) { |
| | $offset = strtolower($offset); |
| | } |
| |
|
| | if (!isset($this->data[$offset])) { |
| | return null; |
| | } |
| |
|
| | return $this->data[$offset]; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | #[ReturnTypeWillChange] |
| | public function offsetSet($offset, $value) { |
| | if ($offset === null) { |
| | throw new Exception('Object is a dictionary, not a list', 'invalidset'); |
| | } |
| |
|
| | if (is_string($offset)) { |
| | $offset = strtolower($offset); |
| | } |
| |
|
| | $this->data[$offset] = $value; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | #[ReturnTypeWillChange] |
| | public function offsetUnset($offset) { |
| | if (is_string($offset)) { |
| | $offset = strtolower($offset); |
| | } |
| |
|
| | unset($this->data[$offset]); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | #[ReturnTypeWillChange] |
| | public function getIterator() { |
| | return new ArrayIterator($this->data); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | public function getAll() { |
| | return $this->data; |
| | } |
| | } |
| |
|