aboutsummaryrefslogtreecommitdiff
path: root/includes/vendor/rmccue/requests/library/Requests/Response/Headers.php
diff options
context:
space:
mode:
authors1n <[email protected]>2020-03-28 10:36:41 -0700
committers1n <[email protected]>2020-03-28 10:36:41 -0700
commit25b7d2aab61ae6421398d3abae5da6ffe590333d (patch)
tree611985ec78bb2d94099c9fd5dd687f5c9cee6f3e /includes/vendor/rmccue/requests/library/Requests/Response/Headers.php
parentInitial commit (diff)
downloadcrack.cf-backup-master.tar.xz
crack.cf-backup-master.zip
3/28/2020, 10:36HEADmaster
Diffstat (limited to 'includes/vendor/rmccue/requests/library/Requests/Response/Headers.php')
-rw-r--r--includes/vendor/rmccue/requests/library/Requests/Response/Headers.php98
1 files changed, 98 insertions, 0 deletions
diff --git a/includes/vendor/rmccue/requests/library/Requests/Response/Headers.php b/includes/vendor/rmccue/requests/library/Requests/Response/Headers.php
new file mode 100644
index 0000000..cc6a208
--- /dev/null
+++ b/includes/vendor/rmccue/requests/library/Requests/Response/Headers.php
@@ -0,0 +1,98 @@
+<?php
+/**
+ * Case-insensitive dictionary, suitable for HTTP headers
+ *
+ * @package Requests
+ */
+
+/**
+ * Case-insensitive dictionary, suitable for HTTP headers
+ *
+ * @package Requests
+ */
+class Requests_Response_Headers extends Requests_Utility_CaseInsensitiveDictionary {
+ /**
+ * Get the given header
+ *
+ * Unlike {@see self::getValues()}, this returns a string. If there are
+ * multiple values, it concatenates them with a comma as per RFC2616.
+ *
+ * Avoid using this where commas may be used unquoted in values, such as
+ * Set-Cookie headers.
+ *
+ * @param string $key
+ * @return string Header value
+ */
+ public function offsetGet($key) {
+ $key = strtolower($key);
+ if (!isset($this->data[$key])) {
+ return null;
+ }
+
+ return $this->flatten($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);
+
+ if (!isset($this->data[$key])) {
+ $this->data[$key] = array();
+ }
+
+ $this->data[$key][] = $value;
+ }
+
+ /**
+ * Get all values for a given header
+ *
+ * @param string $key
+ * @return array Header values
+ */
+ public function getValues($key) {
+ $key = strtolower($key);
+ if (!isset($this->data[$key])) {
+ return null;
+ }
+
+ return $this->data[$key];
+ }
+
+ /**
+ * Flattens a value into a string
+ *
+ * Converts an array into a string by imploding values with a comma, as per
+ * RFC2616's rules for folding headers.
+ *
+ * @param string|array $value Value to flatten
+ * @return string Flattened value
+ */
+ public function flatten($value) {
+ if (is_array($value)) {
+ $value = implode(',', $value);
+ }
+
+ return $value;
+ }
+
+ /**
+ * Get an iterator for the data
+ *
+ * Converts the internal
+ * @return ArrayIterator
+ */
+ public function getIterator() {
+ return new Requests_Utility_FilteredIterator($this->data, array($this, 'flatten'));
+ }
+}