Request::getParams()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
ccs 0
cts 2
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace WebTheory\Saveyour\Http;
4
5
use Psr\Http\Message\ServerRequestInterface;
6
7
class Request
8
{
9 72
    public static function var(ServerRequestInterface $request, $param)
10
    {
11 72
        $request = static::getArgs($request);
12
13 72
        return $request[$param] ?? null;
14
    }
15
16 72
    public static function has(ServerRequestInterface $request, $param): bool
17
    {
18 72
        $request = static::getArgs($request);
19
20 72
        return isset($request[$param]);
21
    }
22
23 3
    public static function attr(ServerRequestInterface $request, $attribute)
24
    {
25 3
        return $request->getAttribute($attribute);
26
    }
27
28 3
    public static function hasAttr(ServerRequestInterface $request, $attribute): bool
29
    {
30 3
        $attributes = $request->getAttributes();
31
32 3
        return isset($attributes[$attribute]);
33
    }
34
35 99
    public static function getArgs(ServerRequestInterface $request): array
36
    {
37 99
        switch ($request->getMethod()) {
38 99
            case 'GET':
39 6
                $request = $request->getQueryParams();
40
41 6
                break;
42
43 93
            case 'POST':
44 30
                $request = $request->getParsedBody();
45
46 30
                break;
47
48
            default:
49 63
                $request = $request->getParsedBody();
50
51 63
                break;
52
        }
53
54 99
        return (array) $request;
55
    }
56
57
    public static function getParams(ServerRequestInterface $request): array
58
    {
59
        return array_keys(static::getArgs($request));
60
    }
61
}
62