Requests_Utility_CaseInsensitiveDictionary WordPress Class
The Requests_Utility_CaseInsensitiveDictionary class provides a way to access data stored in a Wordpress database that is case-insensitive. This can be useful when dealing with data that may be stored in different cases in different parts of the database.
Requests_Utility_CaseInsensitiveDictionary #
Case-insensitive dictionary, suitable for HTTP headers
Source
File: wp-includes/Requests/Utility/CaseInsensitiveDictionary.php
class Requests_Utility_CaseInsensitiveDictionary implements ArrayAccess, IteratorAggregate { /** * Actual item data * * @var array */ protected $data = array(); /** * Creates a case insensitive dictionary. * * @param array $data Dictionary/map to convert to case-insensitive */ public function __construct(array $data = array()) { foreach ($data as $key => $value) { $this->offsetSet($key, $value); } } /** * Check if the given item exists * * @param string $key Item key * @return boolean Does the item exist? */ public function offsetExists($key) { $key = strtolower($key); return isset($this->data[$key]); } /** * Get the value for the item * * @param string $key Item key * @return string|null Item value (null if offsetExists is false) */ public function offsetGet($key) { $key = strtolower($key); if (!isset($this->data[$key])) { return null; } return $this->data[$key]; } /** * Set the given item * * @throws Requests_Exception On attempting to use dictionary as list (`invalidset`) * * @param string $key Item name * @param string $value Item value */ public function offsetSet($key, $value) { if ($key === null) { throw new Requests_Exception('Object is a dictionary, not a list', 'invalidset'); } $key = strtolower($key); $this->data[$key] = $value; } /** * Unset the given header * * @param string $key */ public function offsetUnset($key) { unset($this->data[strtolower($key)]); } /** * Get an iterator for the data * * @return ArrayIterator */ public function getIterator() { return new ArrayIterator($this->data); } /** * Get the headers as an array * * @return array Header data */ public function getAll() { return $this->data; } }
Expand full source codeCollapse full source codeView on TracView on GitHub
Methods
- __construct— Creates a case insensitive dictionary.
- getAll— Get the headers as an array
- getIterator— Get an iterator for the data
- offsetExists— Check if the given item exists
- offsetGet— Get the value for the item
- offsetSet— Set the given item
- offsetUnset— Unset the given header