Passed
Push — dev ( 737777...096a7e )
by Janko
05:19
created

CustomControllerHelperTrait   A

Complexity

Total Complexity 9

Size/Duplication

Total Lines 44
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 2
Bugs 1 Features 0
Metric Value
eloc 14
dl 0
loc 44
ccs 18
cts 18
cp 1
rs 10
c 2
b 1
f 0
wmc 9

5 Methods

Rating   Name   Duplication   Size   Complexity  
A createRequestParserFactory() 0 3 1
A __construct() 0 5 3
A parameter() 0 7 2
A tidyString() 0 4 1
A bodyParameter() 0 7 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Stu\Lib\Request;
6
7
use MPScholten\RequestParser\BaseControllerHelperTrait;
8
use MPScholten\RequestParser\Config;
9
use MPScholten\RequestParser\TypeParser;
10
use request;
11
12
trait CustomControllerHelperTrait
13
{
14
    use BaseControllerHelperTrait;
15
16 97
    public function __construct()
17
    {
18 97
        if (array_key_exists('REQUEST_METHOD', $_SERVER)) {
19 96
            $request = $_SERVER['REQUEST_METHOD'] === 'GET' ? $_GET : $_POST;
20 96
            $this->initRequestParser($request, new Config());
21
        }
22
    }
23
24
    /**
25
     * @param array<mixed> $request
26
     * @param callable|Config $config
27
     */
28 192
    final protected function createRequestParserFactory($request, $config): CustomRequestParserFactory
29
    {
30 192
        return new CustomRequestParserFactory($request, $config);
31
    }
32
33 22
    protected function tidyString(string $string): string
34
    {
35 22
        return trim(
36 22
            strip_tags($string)
37 22
        );
38
    }
39
40 190
    protected function parameter(string $name): TypeParser
41
    {
42 190
        if (request::isMocked()) {
43 94
            $this->initRequestParser(request::getvars(), new Config());
44
        }
45
46 190
        return $this->queryParameter($name);
47
    }
48
49 2
    protected function bodyParameter(string $name): TypeParser
50
    {
51 2
        if (request::isMocked()) {
52 2
            $this->initRequestParser(request::getvars(), new Config());
53
        }
54
55 2
        return $this->bodyParser->get($name);
56
    }
57
}
58