PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.2.0
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.2.0
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / vendor / prefixed / symfony / http-foundation / AcceptHeaderItem.php
matomo / app / vendor / prefixed / symfony / http-foundation Last commit date
Exception 2 years ago File 1 year ago RateLimiter 2 years ago Session 1 year ago Test 1 year ago AcceptHeader.php 1 year ago AcceptHeaderItem.php 2 years ago BinaryFileResponse.php 1 year ago Cookie.php 1 year ago ExpressionRequestMatcher.php 2 years ago FileBag.php 1 year ago HeaderBag.php 1 year ago HeaderUtils.php 1 year ago InputBag.php 2 years ago IpUtils.php 1 year ago JsonResponse.php 1 year ago LICENSE 2 years ago ParameterBag.php 1 year ago README.md 2 years ago RedirectResponse.php 2 years ago Request.php 1 year ago RequestMatcher.php 1 year ago RequestMatcherInterface.php 2 years ago RequestStack.php 2 years ago Response.php 1 year ago ResponseHeaderBag.php 1 year ago ServerBag.php 1 year ago StreamedResponse.php 1 year ago UrlHelper.php 2 years ago
AcceptHeaderItem.php
157 lines
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11 namespace Matomo\Dependencies\Symfony\Component\HttpFoundation;
12
13 /**
14 * Represents an Accept-* header item.
15 *
16 * @author Jean-François Simon <contact@jfsimon.fr>
17 */
18 class AcceptHeaderItem
19 {
20 private $value;
21 private $quality = 1.0;
22 private $index = 0;
23 private $attributes = [];
24 public function __construct(string $value, array $attributes = [])
25 {
26 $this->value = $value;
27 foreach ($attributes as $name => $value) {
28 $this->setAttribute($name, $value);
29 }
30 }
31 /**
32 * Builds an AcceptHeaderInstance instance from a string.
33 *
34 * @return self
35 */
36 public static function fromString(?string $itemValue)
37 {
38 $parts = HeaderUtils::split($itemValue ?? '', ';=');
39 $part = array_shift($parts);
40 $attributes = HeaderUtils::combine($parts);
41 return new self($part[0], $attributes);
42 }
43 /**
44 * Returns header value's string representation.
45 *
46 * @return string
47 */
48 public function __toString()
49 {
50 $string = $this->value . ($this->quality < 1 ? ';q=' . $this->quality : '');
51 if (\count($this->attributes) > 0) {
52 $string .= '; ' . HeaderUtils::toString($this->attributes, ';');
53 }
54 return $string;
55 }
56 /**
57 * Set the item value.
58 *
59 * @return $this
60 */
61 public function setValue(string $value)
62 {
63 $this->value = $value;
64 return $this;
65 }
66 /**
67 * Returns the item value.
68 *
69 * @return string
70 */
71 public function getValue()
72 {
73 return $this->value;
74 }
75 /**
76 * Set the item quality.
77 *
78 * @return $this
79 */
80 public function setQuality(float $quality)
81 {
82 $this->quality = $quality;
83 return $this;
84 }
85 /**
86 * Returns the item quality.
87 *
88 * @return float
89 */
90 public function getQuality()
91 {
92 return $this->quality;
93 }
94 /**
95 * Set the item index.
96 *
97 * @return $this
98 */
99 public function setIndex(int $index)
100 {
101 $this->index = $index;
102 return $this;
103 }
104 /**
105 * Returns the item index.
106 *
107 * @return int
108 */
109 public function getIndex()
110 {
111 return $this->index;
112 }
113 /**
114 * Tests if an attribute exists.
115 *
116 * @return bool
117 */
118 public function hasAttribute(string $name)
119 {
120 return isset($this->attributes[$name]);
121 }
122 /**
123 * Returns an attribute by its name.
124 *
125 * @param mixed $default
126 *
127 * @return mixed
128 */
129 public function getAttribute(string $name, $default = null)
130 {
131 return $this->attributes[$name] ?? $default;
132 }
133 /**
134 * Returns all attributes.
135 *
136 * @return array
137 */
138 public function getAttributes()
139 {
140 return $this->attributes;
141 }
142 /**
143 * Set an attribute.
144 *
145 * @return $this
146 */
147 public function setAttribute(string $name, string $value)
148 {
149 if ('q' === $name) {
150 $this->quality = (float) $value;
151 } else {
152 $this->attributes[$name] = $value;
153 }
154 return $this;
155 }
156 }
157