PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.14.6
GiveWP – Donation Plugin and Fundraising Platform v4.14.6
4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / vendor / stripe / stripe-php / lib / Util / CaseInsensitiveArray.php
give / vendor / stripe / stripe-php / lib / Util Last commit date
CaseInsensitiveArray.php 2 years ago DefaultLogger.php 4 years ago LoggerInterface.php 4 years ago ObjectTypes.php 2 years ago RandomGenerator.php 2 years ago RequestOptions.php 4 years ago Set.php 2 years ago Util.php 4 years ago
CaseInsensitiveArray.php
94 lines
1 <?php
2
3 namespace Stripe\Util;
4
5 /**
6 * CaseInsensitiveArray is an array-like class that ignores case for keys.
7 *
8 * It is used to store HTTP headers. Per RFC 2616, section 4.2:
9 * Each header field consists of a name followed by a colon (":") and the field value. Field names
10 * are case-insensitive.
11 *
12 * In the context of stripe-php, this is useful because the API will return headers with different
13 * case depending on whether HTTP/2 is used or not (with HTTP/2, headers are always in lowercase).
14 */
15 class CaseInsensitiveArray implements \ArrayAccess, \Countable, \IteratorAggregate
16 {
17 private $container = [];
18
19 public function __construct($initial_array = [])
20 {
21 $this->container = \array_change_key_case($initial_array, \CASE_LOWER);
22 }
23
24 #[\ReturnTypeWillChange]
25 public function count()
26 {
27 return \count($this->container);
28 }
29
30 /**
31 * @return \ArrayIterator
32 */
33 #[\ReturnTypeWillChange]
34 public function getIterator()
35 {
36 return new \ArrayIterator($this->container);
37 }
38
39 /**
40 * @return void
41 */
42 #[\ReturnTypeWillChange]
43 public function offsetSet($offset, $value)
44 {
45 $offset = static::maybeLowercase($offset);
46 if (null === $offset) {
47 $this->container[] = $value;
48 } else {
49 $this->container[$offset] = $value;
50 }
51 }
52
53 /**
54 * @return bool
55 */
56 #[\ReturnTypeWillChange]
57 public function offsetExists($offset)
58 {
59 $offset = static::maybeLowercase($offset);
60
61 return isset($this->container[$offset]);
62 }
63
64 /**
65 * @return void
66 */
67 #[\ReturnTypeWillChange]
68 public function offsetUnset($offset)
69 {
70 $offset = static::maybeLowercase($offset);
71 unset($this->container[$offset]);
72 }
73
74 /**
75 * @return mixed
76 */
77 #[\ReturnTypeWillChange]
78 public function offsetGet($offset)
79 {
80 $offset = static::maybeLowercase($offset);
81
82 return isset($this->container[$offset]) ? $this->container[$offset] : null;
83 }
84
85 private static function maybeLowercase($v)
86 {
87 if (\is_string($v)) {
88 return \strtolower($v);
89 }
90
91 return $v;
92 }
93 }
94