@@ -15,8 +15,8 @@ discard block |
||
15 | 15 | { |
16 | 16 | public function __construct( |
17 | 17 | private readonly array $data, |
18 | - private readonly int|string $prefix = '' |
|
19 | - ) { |
|
18 | + private readonly int | string $prefix = '' |
|
19 | + ){ |
|
20 | 20 | } |
21 | 21 | |
22 | 22 | public function __debugInfo(): array |
@@ -31,9 +31,9 @@ discard block |
||
31 | 31 | |
32 | 32 | public function all(): array |
33 | 33 | { |
34 | - try { |
|
34 | + try{ |
|
35 | 35 | return $this->dotGet(''); |
36 | - } catch (DotNotFoundException) { |
|
36 | + }catch (DotNotFoundException){ |
|
37 | 37 | return []; |
38 | 38 | } |
39 | 39 | } |
@@ -52,7 +52,7 @@ discard block |
||
52 | 52 | public function fetch(array $keys, bool $fill = false, mixed $filler = null): array |
53 | 53 | { |
54 | 54 | $result = \array_intersect_key($this->all(), \array_flip($keys)); |
55 | - if (!$fill) { |
|
55 | + if (!$fill){ |
|
56 | 56 | return $result; |
57 | 57 | } |
58 | 58 | |
@@ -62,11 +62,11 @@ discard block |
||
62 | 62 | /** |
63 | 63 | * Check if field presented (can be empty) by it's name. Dot notation allowed. |
64 | 64 | */ |
65 | - public function has(int|string $name): bool |
|
65 | + public function has(int | string $name): bool |
|
66 | 66 | { |
67 | - try { |
|
67 | + try{ |
|
68 | 68 | $this->dotGet($name); |
69 | - } catch (DotNotFoundException) { |
|
69 | + }catch (DotNotFoundException){ |
|
70 | 70 | return false; |
71 | 71 | } |
72 | 72 | |
@@ -75,9 +75,9 @@ discard block |
||
75 | 75 | |
76 | 76 | public function offsetExists(mixed $offset): bool |
77 | 77 | { |
78 | - try { |
|
78 | + try{ |
|
79 | 79 | return !\is_null($this->dotGet($offset)); |
80 | - } catch (DotNotFoundException) { |
|
80 | + }catch (DotNotFoundException){ |
|
81 | 81 | return false; |
82 | 82 | } |
83 | 83 | } |
@@ -90,11 +90,11 @@ discard block |
||
90 | 90 | /** |
91 | 91 | * Get property or return default value. Dot notation allowed. |
92 | 92 | */ |
93 | - public function get(int|string $name, mixed $default = null): mixed |
|
93 | + public function get(int | string $name, mixed $default = null): mixed |
|
94 | 94 | { |
95 | - try { |
|
95 | + try{ |
|
96 | 96 | return $this->dotGet($name); |
97 | - } catch (DotNotFoundException) { |
|
97 | + }catch (DotNotFoundException){ |
|
98 | 98 | return $default; |
99 | 99 | } |
100 | 100 | } |
@@ -120,20 +120,20 @@ discard block |
||
120 | 120 | * |
121 | 121 | * @throws DotNotFoundException |
122 | 122 | */ |
123 | - private function dotGet(int|string $name): mixed |
|
123 | + private function dotGet(int | string $name): mixed |
|
124 | 124 | { |
125 | 125 | $data = $this->data; |
126 | 126 | |
127 | 127 | //Generating path relative to a given name and prefix |
128 | - $path = (empty($this->prefix) ? '' : $this->prefix . '.') . $name; |
|
129 | - if (empty($path)) { |
|
128 | + $path = (empty($this->prefix) ? '' : $this->prefix.'.').$name; |
|
129 | + if (empty($path)){ |
|
130 | 130 | return $data; |
131 | 131 | } |
132 | 132 | |
133 | 133 | $path = \explode('.', \rtrim($path, '.')); |
134 | 134 | |
135 | - foreach ($path as $step) { |
|
136 | - if (!\is_array($data) || !\array_key_exists($step, $data)) { |
|
135 | + foreach ($path as $step){ |
|
136 | + if (!\is_array($data) || !\array_key_exists($step, $data)){ |
|
137 | 137 | throw new DotNotFoundException(\sprintf("Unable to find requested element '%s'.", $name)); |
138 | 138 | } |
139 | 139 |
@@ -31,9 +31,12 @@ discard block |
||
31 | 31 | |
32 | 32 | public function all(): array |
33 | 33 | { |
34 | - try { |
|
34 | + try |
|
35 | + { |
|
35 | 36 | return $this->dotGet(''); |
36 | - } catch (DotNotFoundException) { |
|
37 | + } |
|
38 | + catch (DotNotFoundException) |
|
39 | + { |
|
37 | 40 | return []; |
38 | 41 | } |
39 | 42 | } |
@@ -52,7 +55,8 @@ discard block |
||
52 | 55 | public function fetch(array $keys, bool $fill = false, mixed $filler = null): array |
53 | 56 | { |
54 | 57 | $result = \array_intersect_key($this->all(), \array_flip($keys)); |
55 | - if (!$fill) { |
|
58 | + if (!$fill) |
|
59 | + { |
|
56 | 60 | return $result; |
57 | 61 | } |
58 | 62 | |
@@ -64,9 +68,12 @@ discard block |
||
64 | 68 | */ |
65 | 69 | public function has(int|string $name): bool |
66 | 70 | { |
67 | - try { |
|
71 | + try |
|
72 | + { |
|
68 | 73 | $this->dotGet($name); |
69 | - } catch (DotNotFoundException) { |
|
74 | + } |
|
75 | + catch (DotNotFoundException) |
|
76 | + { |
|
70 | 77 | return false; |
71 | 78 | } |
72 | 79 | |
@@ -75,9 +82,12 @@ discard block |
||
75 | 82 | |
76 | 83 | public function offsetExists(mixed $offset): bool |
77 | 84 | { |
78 | - try { |
|
85 | + try |
|
86 | + { |
|
79 | 87 | return !\is_null($this->dotGet($offset)); |
80 | - } catch (DotNotFoundException) { |
|
88 | + } |
|
89 | + catch (DotNotFoundException) |
|
90 | + { |
|
81 | 91 | return false; |
82 | 92 | } |
83 | 93 | } |
@@ -92,9 +102,12 @@ discard block |
||
92 | 102 | */ |
93 | 103 | public function get(int|string $name, mixed $default = null): mixed |
94 | 104 | { |
95 | - try { |
|
105 | + try |
|
106 | + { |
|
96 | 107 | return $this->dotGet($name); |
97 | - } catch (DotNotFoundException) { |
|
108 | + } |
|
109 | + catch (DotNotFoundException) |
|
110 | + { |
|
98 | 111 | return $default; |
99 | 112 | } |
100 | 113 | } |
@@ -126,14 +139,17 @@ discard block |
||
126 | 139 | |
127 | 140 | //Generating path relative to a given name and prefix |
128 | 141 | $path = (empty($this->prefix) ? '' : $this->prefix . '.') . $name; |
129 | - if (empty($path)) { |
|
142 | + if (empty($path)) |
|
143 | + { |
|
130 | 144 | return $data; |
131 | 145 | } |
132 | 146 | |
133 | 147 | $path = \explode('.', \rtrim($path, '.')); |
134 | 148 | |
135 | - foreach ($path as $step) { |
|
136 | - if (!\is_array($data) || !\array_key_exists($step, $data)) { |
|
149 | + foreach ($path as $step) |
|
150 | + { |
|
151 | + if (!\is_array($data) || !\array_key_exists($step, $data)) |
|
152 | + { |
|
137 | 153 | throw new DotNotFoundException(\sprintf("Unable to find requested element '%s'.", $name)); |
138 | 154 | } |
139 | 155 |
@@ -117,7 +117,7 @@ discard block |
||
117 | 117 | private readonly ContainerInterface $container, |
118 | 118 | /** @invisible */ |
119 | 119 | HttpConfig $config = new HttpConfig() |
120 | - ) { |
|
120 | + ){ |
|
121 | 121 | $this->bagAssociations = \array_merge($this->bagAssociations, $config->getInputBags()); |
122 | 122 | } |
123 | 123 | |
@@ -146,10 +146,10 @@ discard block |
||
146 | 146 | { |
147 | 147 | $input = clone $this; |
148 | 148 | |
149 | - if ($add) { |
|
150 | - $input->prefix .= '.' . $prefix; |
|
149 | + if ($add){ |
|
150 | + $input->prefix .= '.'.$prefix; |
|
151 | 151 | $input->prefix = \trim($input->prefix, '.'); |
152 | - } else { |
|
152 | + }else{ |
|
153 | 153 | $input->prefix = $prefix; |
154 | 154 | } |
155 | 155 | |
@@ -165,7 +165,7 @@ discard block |
||
165 | 165 | |
166 | 166 | return match (true) { |
167 | 167 | empty($path) => '/', |
168 | - $path[0] !== '/' => '/' . $path, |
|
168 | + $path[0] !== '/' => '/'.$path, |
|
169 | 169 | default => $path |
170 | 170 | }; |
171 | 171 | } |
@@ -185,9 +185,9 @@ discard block |
||
185 | 185 | */ |
186 | 186 | public function request(): Request |
187 | 187 | { |
188 | - try { |
|
188 | + try{ |
|
189 | 189 | $request = $this->container->get(Request::class); |
190 | - } catch (ContainerExceptionInterface $e) { |
|
190 | + }catch (ContainerExceptionInterface $e){ |
|
191 | 191 | throw new ScopeException( |
192 | 192 | 'Unable to get `ServerRequestInterface` in active container scope', |
193 | 193 | $e->getCode(), |
@@ -196,7 +196,7 @@ discard block |
||
196 | 196 | } |
197 | 197 | |
198 | 198 | // Flushing input state |
199 | - if ($this->request !== $request) { |
|
199 | + if ($this->request !== $request){ |
|
200 | 200 | $this->bags = []; |
201 | 201 | $this->request = $request; |
202 | 202 | } |
@@ -213,7 +213,7 @@ discard block |
||
213 | 213 | |
214 | 214 | $position = \strrpos($header, 'Bearer '); |
215 | 215 | |
216 | - if ($position !== false) { |
|
216 | + if ($position !== false){ |
|
217 | 217 | $header = \substr($header, $position + 7); |
218 | 218 | |
219 | 219 | return \str_contains($header, ',') |
@@ -267,16 +267,16 @@ discard block |
||
267 | 267 | public function isJsonExpected(bool $softMatch = false): bool |
268 | 268 | { |
269 | 269 | $acceptHeader = AcceptHeader::fromString($this->request()->getHeaderLine('Accept')); |
270 | - foreach ($this->jsonTypes as $jsonType) { |
|
271 | - if ($acceptHeader->has($jsonType)) { |
|
270 | + foreach ($this->jsonTypes as $jsonType){ |
|
271 | + if ($acceptHeader->has($jsonType)){ |
|
272 | 272 | return true; |
273 | 273 | } |
274 | 274 | } |
275 | 275 | |
276 | - if ($softMatch) { |
|
277 | - foreach ($acceptHeader->getAll() as $item) { |
|
276 | + if ($softMatch){ |
|
277 | + foreach ($acceptHeader->getAll() as $item){ |
|
278 | 278 | $itemValue = \strtolower($item->getValue()); |
279 | - if (\str_ends_with($itemValue, '/json') || \str_ends_with($itemValue, '+json')) { |
|
279 | + if (\str_ends_with($itemValue, '/json') || \str_ends_with($itemValue, '+json')){ |
|
280 | 280 | return true; |
281 | 281 | } |
282 | 282 | } |
@@ -315,19 +315,19 @@ discard block |
||
315 | 315 | // ensure proper request association |
316 | 316 | $this->request(); |
317 | 317 | |
318 | - if (isset($this->bags[$name])) { |
|
318 | + if (isset($this->bags[$name])){ |
|
319 | 319 | return $this->bags[$name]; |
320 | 320 | } |
321 | 321 | |
322 | 322 | $definition = $this->findBagDefinition($name); |
323 | - if (!$definition) { |
|
323 | + if (!$definition){ |
|
324 | 324 | throw new InputException(\sprintf("Undefined input bag '%s'", $name)); |
325 | 325 | } |
326 | 326 | |
327 | 327 | $class = $definition['class']; |
328 | 328 | $data = \call_user_func([$this->request(), $definition['source']]); |
329 | 329 | |
330 | - if (!\is_array($data)) { |
|
330 | + if (!\is_array($data)){ |
|
331 | 331 | $data = (array)$data; |
332 | 332 | } |
333 | 333 | |
@@ -336,7 +336,7 @@ discard block |
||
336 | 336 | |
337 | 337 | public function hasBag(string $name): bool |
338 | 338 | { |
339 | - if (isset($this->bags[$name])) { |
|
339 | + if (isset($this->bags[$name])){ |
|
340 | 340 | return true; |
341 | 341 | } |
342 | 342 | |
@@ -356,12 +356,12 @@ discard block |
||
356 | 356 | */ |
357 | 357 | private function findBagDefinition(string $name): ?array |
358 | 358 | { |
359 | - if (isset($this->bagAssociations[$name])) { |
|
359 | + if (isset($this->bagAssociations[$name])){ |
|
360 | 360 | return $this->bagAssociations[$name]; |
361 | 361 | } |
362 | 362 | |
363 | - foreach ($this->bagAssociations as $bag) { |
|
364 | - if (isset($bag['alias']) && $bag['alias'] === $name) { |
|
363 | + foreach ($this->bagAssociations as $bag){ |
|
364 | + if (isset($bag['alias']) && $bag['alias'] === $name){ |
|
365 | 365 | return $bag; |
366 | 366 | } |
367 | 367 | } |
@@ -146,10 +146,13 @@ discard block |
||
146 | 146 | { |
147 | 147 | $input = clone $this; |
148 | 148 | |
149 | - if ($add) { |
|
149 | + if ($add) |
|
150 | + { |
|
150 | 151 | $input->prefix .= '.' . $prefix; |
151 | 152 | $input->prefix = \trim($input->prefix, '.'); |
152 | - } else { |
|
153 | + } |
|
154 | + else |
|
155 | + { |
|
153 | 156 | $input->prefix = $prefix; |
154 | 157 | } |
155 | 158 | |
@@ -185,9 +188,12 @@ discard block |
||
185 | 188 | */ |
186 | 189 | public function request(): Request |
187 | 190 | { |
188 | - try { |
|
191 | + try |
|
192 | + { |
|
189 | 193 | $request = $this->container->get(Request::class); |
190 | - } catch (ContainerExceptionInterface $e) { |
|
194 | + } |
|
195 | + catch (ContainerExceptionInterface $e) |
|
196 | + { |
|
191 | 197 | throw new ScopeException( |
192 | 198 | 'Unable to get `ServerRequestInterface` in active container scope', |
193 | 199 | $e->getCode(), |
@@ -196,7 +202,8 @@ discard block |
||
196 | 202 | } |
197 | 203 | |
198 | 204 | // Flushing input state |
199 | - if ($this->request !== $request) { |
|
205 | + if ($this->request !== $request) |
|
206 | + { |
|
200 | 207 | $this->bags = []; |
201 | 208 | $this->request = $request; |
202 | 209 | } |
@@ -213,7 +220,8 @@ discard block |
||
213 | 220 | |
214 | 221 | $position = \strrpos($header, 'Bearer '); |
215 | 222 | |
216 | - if ($position !== false) { |
|
223 | + if ($position !== false) |
|
224 | + { |
|
217 | 225 | $header = \substr($header, $position + 7); |
218 | 226 | |
219 | 227 | return \str_contains($header, ',') |
@@ -267,16 +275,21 @@ discard block |
||
267 | 275 | public function isJsonExpected(bool $softMatch = false): bool |
268 | 276 | { |
269 | 277 | $acceptHeader = AcceptHeader::fromString($this->request()->getHeaderLine('Accept')); |
270 | - foreach ($this->jsonTypes as $jsonType) { |
|
271 | - if ($acceptHeader->has($jsonType)) { |
|
278 | + foreach ($this->jsonTypes as $jsonType) |
|
279 | + { |
|
280 | + if ($acceptHeader->has($jsonType)) |
|
281 | + { |
|
272 | 282 | return true; |
273 | 283 | } |
274 | 284 | } |
275 | 285 | |
276 | - if ($softMatch) { |
|
277 | - foreach ($acceptHeader->getAll() as $item) { |
|
286 | + if ($softMatch) |
|
287 | + { |
|
288 | + foreach ($acceptHeader->getAll() as $item) |
|
289 | + { |
|
278 | 290 | $itemValue = \strtolower($item->getValue()); |
279 | - if (\str_ends_with($itemValue, '/json') || \str_ends_with($itemValue, '+json')) { |
|
291 | + if (\str_ends_with($itemValue, '/json') || \str_ends_with($itemValue, '+json')) |
|
292 | + { |
|
280 | 293 | return true; |
281 | 294 | } |
282 | 295 | } |
@@ -315,19 +328,22 @@ discard block |
||
315 | 328 | // ensure proper request association |
316 | 329 | $this->request(); |
317 | 330 | |
318 | - if (isset($this->bags[$name])) { |
|
331 | + if (isset($this->bags[$name])) |
|
332 | + { |
|
319 | 333 | return $this->bags[$name]; |
320 | 334 | } |
321 | 335 | |
322 | 336 | $definition = $this->findBagDefinition($name); |
323 | - if (!$definition) { |
|
337 | + if (!$definition) |
|
338 | + { |
|
324 | 339 | throw new InputException(\sprintf("Undefined input bag '%s'", $name)); |
325 | 340 | } |
326 | 341 | |
327 | 342 | $class = $definition['class']; |
328 | 343 | $data = \call_user_func([$this->request(), $definition['source']]); |
329 | 344 | |
330 | - if (!\is_array($data)) { |
|
345 | + if (!\is_array($data)) |
|
346 | + { |
|
331 | 347 | $data = (array)$data; |
332 | 348 | } |
333 | 349 | |
@@ -336,7 +352,8 @@ discard block |
||
336 | 352 | |
337 | 353 | public function hasBag(string $name): bool |
338 | 354 | { |
339 | - if (isset($this->bags[$name])) { |
|
355 | + if (isset($this->bags[$name])) |
|
356 | + { |
|
340 | 357 | return true; |
341 | 358 | } |
342 | 359 | |
@@ -356,12 +373,15 @@ discard block |
||
356 | 373 | */ |
357 | 374 | private function findBagDefinition(string $name): ?array |
358 | 375 | { |
359 | - if (isset($this->bagAssociations[$name])) { |
|
376 | + if (isset($this->bagAssociations[$name])) |
|
377 | + { |
|
360 | 378 | return $this->bagAssociations[$name]; |
361 | 379 | } |
362 | 380 | |
363 | - foreach ($this->bagAssociations as $bag) { |
|
364 | - if (isset($bag['alias']) && $bag['alias'] === $name) { |
|
381 | + foreach ($this->bagAssociations as $bag) |
|
382 | + { |
|
383 | + if (isset($bag['alias']) && $bag['alias'] === $name) |
|
384 | + { |
|
365 | 385 | return $bag; |
366 | 386 | } |
367 | 387 | } |
@@ -10,14 +10,14 @@ |
||
10 | 10 | */ |
11 | 11 | final class ServerBag extends InputBag |
12 | 12 | { |
13 | - public function has(int|string $name): bool |
|
13 | + public function has(int | string $name): bool |
|
14 | 14 | { |
15 | - return parent::has($this->normalize((string) $name)); |
|
15 | + return parent::has($this->normalize((string)$name)); |
|
16 | 16 | } |
17 | 17 | |
18 | - public function get(int|string $name, mixed $default = null): mixed |
|
18 | + public function get(int | string $name, mixed $default = null): mixed |
|
19 | 19 | { |
20 | - return parent::get($this->normalize((string) $name), $default); |
|
20 | + return parent::get($this->normalize((string)$name), $default); |
|
21 | 21 | } |
22 | 22 | |
23 | 23 | public function fetch(array $keys, bool $fill = false, mixed $filler = null): array |
@@ -20,9 +20,9 @@ |
||
20 | 20 | /** |
21 | 21 | * Locale local filename (virtual filename) associated with UploadedFile resource. |
22 | 22 | */ |
23 | - public function getFilename(int|string $name): ?string |
|
23 | + public function getFilename(int | string $name): ?string |
|
24 | 24 | { |
25 | - if (!empty($file = $this->get($name)) && !$file->getError()) { |
|
25 | + if (!empty($file = $this->get($name)) && !$file->getError()){ |
|
26 | 26 | return StreamWrapper::getFilename($file->getStream()); |
27 | 27 | } |
28 | 28 |
@@ -22,7 +22,8 @@ |
||
22 | 22 | */ |
23 | 23 | public function getFilename(int|string $name): ?string |
24 | 24 | { |
25 | - if (!empty($file = $this->get($name)) && !$file->getError()) { |
|
25 | + if (!empty($file = $this->get($name)) && !$file->getError()) |
|
26 | + { |
|
26 | 27 | return StreamWrapper::getFilename($file->getStream()); |
27 | 28 | } |
28 | 29 |
@@ -10,19 +10,19 @@ discard block |
||
10 | 10 | */ |
11 | 11 | final class HeadersBag extends InputBag |
12 | 12 | { |
13 | - public function has(int|string $name): bool |
|
13 | + public function has(int | string $name): bool |
|
14 | 14 | { |
15 | - return parent::has($this->normalize((string) $name)); |
|
15 | + return parent::has($this->normalize((string)$name)); |
|
16 | 16 | } |
17 | 17 | |
18 | 18 | /** |
19 | 19 | * @param false|string $implode Implode header lines, false to return header as array. |
20 | 20 | */ |
21 | - public function get(int|string $name, mixed $default = null, bool|string $implode = ','): array|string|null |
|
21 | + public function get(int | string $name, mixed $default = null, bool | string $implode = ','): array | string | null |
|
22 | 22 | { |
23 | - $value = parent::get($this->normalize((string) $name), $default); |
|
23 | + $value = parent::get($this->normalize((string)$name), $default); |
|
24 | 24 | |
25 | - if (\is_string($implode) && !empty($implode) && \is_array($value)) { |
|
25 | + if (\is_string($implode) && !empty($implode) && \is_array($value)){ |
|
26 | 26 | return \implode($implode, $value); |
27 | 27 | } |
28 | 28 | |
@@ -34,12 +34,12 @@ discard block |
||
34 | 34 | */ |
35 | 35 | public function fetch(array $keys, bool $fill = false, mixed $filler = null, ?string $implode = ','): array |
36 | 36 | { |
37 | - $keys = \array_map(fn (string $header): string => $this->normalize($header), $keys); |
|
37 | + $keys = \array_map(fn (string $header) : string => $this->normalize($header), $keys); |
|
38 | 38 | |
39 | 39 | $values = parent::fetch($keys, $fill, $filler); |
40 | 40 | |
41 | - if (!empty($implode)) { |
|
42 | - foreach ($values as &$value) { |
|
41 | + if (!empty($implode)){ |
|
42 | + foreach ($values as &$value){ |
|
43 | 43 | $value = \implode($implode, $value); |
44 | 44 | unset($value); |
45 | 45 | } |
@@ -22,7 +22,8 @@ discard block |
||
22 | 22 | { |
23 | 23 | $value = parent::get($this->normalize((string) $name), $default); |
24 | 24 | |
25 | - if (\is_string($implode) && !empty($implode) && \is_array($value)) { |
|
25 | + if (\is_string($implode) && !empty($implode) && \is_array($value)) |
|
26 | + { |
|
26 | 27 | return \implode($implode, $value); |
27 | 28 | } |
28 | 29 | |
@@ -38,8 +39,10 @@ discard block |
||
38 | 39 | |
39 | 40 | $values = parent::fetch($keys, $fill, $filler); |
40 | 41 | |
41 | - if (!empty($implode)) { |
|
42 | - foreach ($values as &$value) { |
|
42 | + if (!empty($implode)) |
|
43 | + { |
|
44 | + foreach ($values as &$value) |
|
45 | + { |
|
43 | 46 | $value = \implode($implode, $value); |
44 | 47 | unset($value); |
45 | 48 | } |
@@ -10,7 +10,7 @@ |
||
10 | 10 | { |
11 | 11 | public function __construct( |
12 | 12 | private DebugMode $debugMode |
13 | - ) { |
|
13 | + ){ |
|
14 | 14 | } |
15 | 15 | |
16 | 16 | public function suppressed(): bool |
@@ -21,16 +21,16 @@ discard block |
||
21 | 21 | */ |
22 | 22 | public function __construct( |
23 | 23 | private readonly JsonPayloadConfig $config |
24 | - ) { |
|
24 | + ){ |
|
25 | 25 | } |
26 | 26 | |
27 | 27 | public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface |
28 | 28 | { |
29 | - if ($this->isJsonPayload($request)) { |
|
29 | + if ($this->isJsonPayload($request)){ |
|
30 | 30 | $body = (string)$request->getBody(); |
31 | - if ($body !== '') { |
|
31 | + if ($body !== ''){ |
|
32 | 32 | $request = $request->withParsedBody(\json_decode($body, true)); |
33 | - if (\json_last_error() !== 0) { |
|
33 | + if (\json_last_error() !== 0){ |
|
34 | 34 | throw new ClientException(400, 'invalid json payload'); |
35 | 35 | } |
36 | 36 | } |
@@ -43,8 +43,8 @@ discard block |
||
43 | 43 | { |
44 | 44 | $contentType = $request->getHeaderLine('Content-Type'); |
45 | 45 | |
46 | - foreach ($this->config->getContentTypes() as $allowedType) { |
|
47 | - if (\stripos($contentType, $allowedType) === 0) { |
|
46 | + foreach ($this->config->getContentTypes() as $allowedType){ |
|
47 | + if (\stripos($contentType, $allowedType) === 0){ |
|
48 | 48 | return true; |
49 | 49 | } |
50 | 50 | } |
@@ -26,11 +26,14 @@ discard block |
||
26 | 26 | |
27 | 27 | public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface |
28 | 28 | { |
29 | - if ($this->isJsonPayload($request)) { |
|
29 | + if ($this->isJsonPayload($request)) |
|
30 | + { |
|
30 | 31 | $body = (string)$request->getBody(); |
31 | - if ($body !== '') { |
|
32 | + if ($body !== '') |
|
33 | + { |
|
32 | 34 | $request = $request->withParsedBody(\json_decode($body, true)); |
33 | - if (\json_last_error() !== 0) { |
|
35 | + if (\json_last_error() !== 0) |
|
36 | + { |
|
34 | 37 | throw new ClientException(400, 'invalid json payload'); |
35 | 38 | } |
36 | 39 | } |
@@ -43,8 +46,10 @@ discard block |
||
43 | 46 | { |
44 | 47 | $contentType = $request->getHeaderLine('Content-Type'); |
45 | 48 | |
46 | - foreach ($this->config->getContentTypes() as $allowedType) { |
|
47 | - if (\stripos($contentType, $allowedType) === 0) { |
|
49 | + foreach ($this->config->getContentTypes() as $allowedType) |
|
50 | + { |
|
51 | + if (\stripos($contentType, $allowedType) === 0) |
|
52 | + { |
|
48 | 53 | return true; |
49 | 54 | } |
50 | 55 | } |
@@ -24,7 +24,7 @@ discard block |
||
24 | 24 | public function __construct( |
25 | 25 | callable $callable, |
26 | 26 | private readonly ResponseFactoryInterface $responseFactory |
27 | - ) { |
|
27 | + ){ |
|
28 | 28 | $this->callable = $callable; |
29 | 29 | } |
30 | 30 | |
@@ -39,21 +39,21 @@ discard block |
||
39 | 39 | $output = $result = null; |
40 | 40 | |
41 | 41 | $response = $this->responseFactory->createResponse(200); |
42 | - try { |
|
42 | + try{ |
|
43 | 43 | $result = \call_user_func($this->callable, $request, $response); |
44 | - } catch (\Throwable $e) { |
|
44 | + }catch (\Throwable $e){ |
|
45 | 45 | \ob_get_clean(); |
46 | 46 | throw $e; |
47 | - } finally { |
|
48 | - while (\ob_get_level() > $outputLevel + 1) { |
|
49 | - $output = \ob_get_clean() . $output; |
|
47 | + }finally{ |
|
48 | + while (\ob_get_level() > $outputLevel + 1){ |
|
49 | + $output = \ob_get_clean().$output; |
|
50 | 50 | } |
51 | 51 | } |
52 | 52 | |
53 | 53 | return $this->wrapResponse( |
54 | 54 | $response, |
55 | 55 | $result, |
56 | - \ob_get_clean() . $output |
|
56 | + \ob_get_clean().$output |
|
57 | 57 | ); |
58 | 58 | } |
59 | 59 | |
@@ -66,17 +66,17 @@ discard block |
||
66 | 66 | */ |
67 | 67 | private function wrapResponse(Response $response, mixed $result = null, string $output = ''): Response |
68 | 68 | { |
69 | - if ($result instanceof Response) { |
|
70 | - if (!empty($output) && $result->getBody()->isWritable()) { |
|
69 | + if ($result instanceof Response){ |
|
70 | + if (!empty($output) && $result->getBody()->isWritable()){ |
|
71 | 71 | $result->getBody()->write($output); |
72 | 72 | } |
73 | 73 | |
74 | 74 | return $result; |
75 | 75 | } |
76 | 76 | |
77 | - if (\is_array($result) || $result instanceof \JsonSerializable) { |
|
77 | + if (\is_array($result) || $result instanceof \JsonSerializable){ |
|
78 | 78 | $response = $this->writeJson($response, $result); |
79 | - } else { |
|
79 | + }else{ |
|
80 | 80 | $response->getBody()->write((string)$result); |
81 | 81 | } |
82 | 82 |
@@ -39,13 +39,19 @@ discard block |
||
39 | 39 | $output = $result = null; |
40 | 40 | |
41 | 41 | $response = $this->responseFactory->createResponse(200); |
42 | - try { |
|
42 | + try |
|
43 | + { |
|
43 | 44 | $result = \call_user_func($this->callable, $request, $response); |
44 | - } catch (\Throwable $e) { |
|
45 | + } |
|
46 | + catch (\Throwable $e) |
|
47 | + { |
|
45 | 48 | \ob_get_clean(); |
46 | 49 | throw $e; |
47 | - } finally { |
|
48 | - while (\ob_get_level() > $outputLevel + 1) { |
|
50 | + } |
|
51 | + finally |
|
52 | + { |
|
53 | + while (\ob_get_level() > $outputLevel + 1) |
|
54 | + { |
|
49 | 55 | $output = \ob_get_clean() . $output; |
50 | 56 | } |
51 | 57 | } |
@@ -66,17 +72,22 @@ discard block |
||
66 | 72 | */ |
67 | 73 | private function wrapResponse(Response $response, mixed $result = null, string $output = ''): Response |
68 | 74 | { |
69 | - if ($result instanceof Response) { |
|
70 | - if (!empty($output) && $result->getBody()->isWritable()) { |
|
75 | + if ($result instanceof Response) |
|
76 | + { |
|
77 | + if (!empty($output) && $result->getBody()->isWritable()) |
|
78 | + { |
|
71 | 79 | $result->getBody()->write($output); |
72 | 80 | } |
73 | 81 | |
74 | 82 | return $result; |
75 | 83 | } |
76 | 84 | |
77 | - if (\is_array($result) || $result instanceof \JsonSerializable) { |
|
85 | + if (\is_array($result) || $result instanceof \JsonSerializable) |
|
86 | + { |
|
78 | 87 | $response = $this->writeJson($response, $result); |
79 | - } else { |
|
88 | + } |
|
89 | + else |
|
90 | + { |
|
80 | 91 | $response->getBody()->write((string)$result); |
81 | 92 | } |
82 | 93 |
@@ -26,7 +26,7 @@ discard block |
||
26 | 26 | */ |
27 | 27 | public function __construct(array $items = []) |
28 | 28 | { |
29 | - foreach ($items as $item) { |
|
29 | + foreach ($items as $item){ |
|
30 | 30 | $this->addItem($item); |
31 | 31 | } |
32 | 32 | } |
@@ -41,9 +41,9 @@ discard block |
||
41 | 41 | $header = new static(); |
42 | 42 | |
43 | 43 | $parts = \explode(',', $raw); |
44 | - foreach ($parts as $part) { |
|
44 | + foreach ($parts as $part){ |
|
45 | 45 | $part = \trim($part); |
46 | - if ($part !== '') { |
|
46 | + if ($part !== ''){ |
|
47 | 47 | $header->addItem($part); |
48 | 48 | } |
49 | 49 | } |
@@ -51,7 +51,7 @@ discard block |
||
51 | 51 | return $header; |
52 | 52 | } |
53 | 53 | |
54 | - public function add(AcceptHeaderItem|string $item): self |
|
54 | + public function add(AcceptHeaderItem | string $item): self |
|
55 | 55 | { |
56 | 56 | $header = clone $this; |
57 | 57 | $header->addItem($item); |
@@ -74,7 +74,7 @@ discard block |
||
74 | 74 | */ |
75 | 75 | public function getAll(): array |
76 | 76 | { |
77 | - if (!$this->sorted) { |
|
77 | + if (!$this->sorted){ |
|
78 | 78 | /** |
79 | 79 | * Sort item in descending order. |
80 | 80 | */ |
@@ -89,14 +89,14 @@ discard block |
||
89 | 89 | /** |
90 | 90 | * Add new item to list. |
91 | 91 | */ |
92 | - private function addItem(AcceptHeaderItem|string $item): void |
|
92 | + private function addItem(AcceptHeaderItem | string $item): void |
|
93 | 93 | { |
94 | - if (\is_string($item)) { |
|
94 | + if (\is_string($item)){ |
|
95 | 95 | $item = AcceptHeaderItem::fromString($item); |
96 | 96 | } |
97 | 97 | |
98 | 98 | $value = \strtolower($item->getValue()); |
99 | - if ($value !== '' && (!$this->has($value) || self::compare($item, $this->get($value)) === 1)) { |
|
99 | + if ($value !== '' && (!$this->has($value) || self::compare($item, $this->get($value)) === 1)){ |
|
100 | 100 | $this->sorted = false; |
101 | 101 | $this->items[$value] = $item; |
102 | 102 | } |
@@ -106,11 +106,11 @@ discard block |
||
106 | 106 | * Compare to header items, witch one is preferable. |
107 | 107 | * Return 1 if first value preferable or -1 if second, 0 in case of same weight. |
108 | 108 | */ |
109 | - private static function compare(AcceptHeaderItem|string $a, AcceptHeaderItem|string $b): int |
|
109 | + private static function compare(AcceptHeaderItem | string $a, AcceptHeaderItem | string $b): int |
|
110 | 110 | { |
111 | - if ($a->getQuality() === $b->getQuality()) { |
|
111 | + if ($a->getQuality() === $b->getQuality()){ |
|
112 | 112 | // If quality are same value with more params has more weight. |
113 | - if (\count($a->getParams()) === \count($b->getParams())) { |
|
113 | + if (\count($a->getParams()) === \count($b->getParams())){ |
|
114 | 114 | // If quality and params then check for specific type or subtype. |
115 | 115 | // Means */* or * has less weight. |
116 | 116 | return static::compareValue($a->getValue(), $b->getValue()); |
@@ -129,11 +129,11 @@ discard block |
||
129 | 129 | private static function compareValue(string $a, string $b): int |
130 | 130 | { |
131 | 131 | // Check "Accept" headers values with it is type and subtype. |
132 | - if (\str_contains($a, '/') && \str_contains($b, '/')) { |
|
132 | + if (\str_contains($a, '/') && \str_contains($b, '/')){ |
|
133 | 133 | [$typeA, $subtypeA] = \explode('/', $a, 2); |
134 | 134 | [$typeB, $subtypeB] = \explode('/', $b, 2); |
135 | 135 | |
136 | - if ($typeA === $typeB) { |
|
136 | + if ($typeA === $typeB){ |
|
137 | 137 | return static::compareAtomic($subtypeA, $subtypeB); |
138 | 138 | } |
139 | 139 | |
@@ -145,23 +145,23 @@ discard block |
||
145 | 145 | |
146 | 146 | private static function compareAtomic(string $a, string $b): int |
147 | 147 | { |
148 | - if (\mb_strpos($a, '*/') === 0) { |
|
148 | + if (\mb_strpos($a, '*/') === 0){ |
|
149 | 149 | $a = '*'; |
150 | 150 | } |
151 | 151 | |
152 | - if (\mb_strpos($b, '*/') === 0) { |
|
152 | + if (\mb_strpos($b, '*/') === 0){ |
|
153 | 153 | $b = '*'; |
154 | 154 | } |
155 | 155 | |
156 | - if (\strtolower($a) === \strtolower($b)) { |
|
156 | + if (\strtolower($a) === \strtolower($b)){ |
|
157 | 157 | return 0; |
158 | 158 | } |
159 | 159 | |
160 | - if ($a === '*') { |
|
160 | + if ($a === '*'){ |
|
161 | 161 | return -1; |
162 | 162 | } |
163 | 163 | |
164 | - if ($b === '*') { |
|
164 | + if ($b === '*'){ |
|
165 | 165 | return 1; |
166 | 166 | } |
167 | 167 |
@@ -26,7 +26,8 @@ discard block |
||
26 | 26 | */ |
27 | 27 | public function __construct(array $items = []) |
28 | 28 | { |
29 | - foreach ($items as $item) { |
|
29 | + foreach ($items as $item) |
|
30 | + { |
|
30 | 31 | $this->addItem($item); |
31 | 32 | } |
32 | 33 | } |
@@ -41,9 +42,11 @@ discard block |
||
41 | 42 | $header = new static(); |
42 | 43 | |
43 | 44 | $parts = \explode(',', $raw); |
44 | - foreach ($parts as $part) { |
|
45 | + foreach ($parts as $part) |
|
46 | + { |
|
45 | 47 | $part = \trim($part); |
46 | - if ($part !== '') { |
|
48 | + if ($part !== '') |
|
49 | + { |
|
47 | 50 | $header->addItem($part); |
48 | 51 | } |
49 | 52 | } |
@@ -74,7 +77,8 @@ discard block |
||
74 | 77 | */ |
75 | 78 | public function getAll(): array |
76 | 79 | { |
77 | - if (!$this->sorted) { |
|
80 | + if (!$this->sorted) |
|
81 | + { |
|
78 | 82 | /** |
79 | 83 | * Sort item in descending order. |
80 | 84 | */ |
@@ -91,12 +95,14 @@ discard block |
||
91 | 95 | */ |
92 | 96 | private function addItem(AcceptHeaderItem|string $item): void |
93 | 97 | { |
94 | - if (\is_string($item)) { |
|
98 | + if (\is_string($item)) |
|
99 | + { |
|
95 | 100 | $item = AcceptHeaderItem::fromString($item); |
96 | 101 | } |
97 | 102 | |
98 | 103 | $value = \strtolower($item->getValue()); |
99 | - if ($value !== '' && (!$this->has($value) || self::compare($item, $this->get($value)) === 1)) { |
|
104 | + if ($value !== '' && (!$this->has($value) || self::compare($item, $this->get($value)) === 1)) |
|
105 | + { |
|
100 | 106 | $this->sorted = false; |
101 | 107 | $this->items[$value] = $item; |
102 | 108 | } |
@@ -108,9 +114,11 @@ discard block |
||
108 | 114 | */ |
109 | 115 | private static function compare(AcceptHeaderItem|string $a, AcceptHeaderItem|string $b): int |
110 | 116 | { |
111 | - if ($a->getQuality() === $b->getQuality()) { |
|
117 | + if ($a->getQuality() === $b->getQuality()) |
|
118 | + { |
|
112 | 119 | // If quality are same value with more params has more weight. |
113 | - if (\count($a->getParams()) === \count($b->getParams())) { |
|
120 | + if (\count($a->getParams()) === \count($b->getParams())) |
|
121 | + { |
|
114 | 122 | // If quality and params then check for specific type or subtype. |
115 | 123 | // Means */* or * has less weight. |
116 | 124 | return static::compareValue($a->getValue(), $b->getValue()); |
@@ -129,11 +137,13 @@ discard block |
||
129 | 137 | private static function compareValue(string $a, string $b): int |
130 | 138 | { |
131 | 139 | // Check "Accept" headers values with it is type and subtype. |
132 | - if (\str_contains($a, '/') && \str_contains($b, '/')) { |
|
140 | + if (\str_contains($a, '/') && \str_contains($b, '/')) |
|
141 | + { |
|
133 | 142 | [$typeA, $subtypeA] = \explode('/', $a, 2); |
134 | 143 | [$typeB, $subtypeB] = \explode('/', $b, 2); |
135 | 144 | |
136 | - if ($typeA === $typeB) { |
|
145 | + if ($typeA === $typeB) |
|
146 | + { |
|
137 | 147 | return static::compareAtomic($subtypeA, $subtypeB); |
138 | 148 | } |
139 | 149 | |
@@ -145,23 +155,28 @@ discard block |
||
145 | 155 | |
146 | 156 | private static function compareAtomic(string $a, string $b): int |
147 | 157 | { |
148 | - if (\mb_strpos($a, '*/') === 0) { |
|
158 | + if (\mb_strpos($a, '*/') === 0) |
|
159 | + { |
|
149 | 160 | $a = '*'; |
150 | 161 | } |
151 | 162 | |
152 | - if (\mb_strpos($b, '*/') === 0) { |
|
163 | + if (\mb_strpos($b, '*/') === 0) |
|
164 | + { |
|
153 | 165 | $b = '*'; |
154 | 166 | } |
155 | 167 | |
156 | - if (\strtolower($a) === \strtolower($b)) { |
|
168 | + if (\strtolower($a) === \strtolower($b)) |
|
169 | + { |
|
157 | 170 | return 0; |
158 | 171 | } |
159 | 172 | |
160 | - if ($a === '*') { |
|
173 | + if ($a === '*') |
|
174 | + { |
|
161 | 175 | return -1; |
162 | 176 | } |
163 | 177 | |
164 | - if ($b === '*') { |
|
178 | + if ($b === '*') |
|
179 | + { |
|
165 | 180 | return 1; |
166 | 181 | } |
167 | 182 |