Passed
Push — master ( 9b6318...46ddd5 )
by Evgeniy
01:25
created

ServerRequestCreator   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 15
dl 0
loc 42
ccs 15
cts 15
cp 1
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A createFromGlobals() 0 22 1
A create() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace HttpSoft\ServerRequest;
6
7
use HttpSoft\Message\ServerRequest;
8
use Psr\Http\Message\ServerRequestInterface;
9
10
final class ServerRequestCreator
11
{
12
    /**
13
     * @param ServerNormalizerInterface|null $normalizer
14
     * @return ServerRequestInterface
15
     */
16 1
    public static function create(ServerNormalizerInterface $normalizer = null): ServerRequestInterface
17
    {
18 1
        return self::createFromGlobals(null, null, null, null, null, $normalizer);
19
    }
20
21
    /**
22
     * @param array|null $server
23
     * @param array|null $files
24
     * @param array|null $cookie
25
     * @param array|null $get
26
     * @param array|null $post
27
     * @param ServerNormalizerInterface|null $normalizer
28
     * @return ServerRequestInterface
29
     */
30 4
    public static function createFromGlobals(
31
        array $server = null,
32
        array $files = null,
33
        array $cookie = null,
34
        array $get = null,
35
        array $post = null,
36
        ServerNormalizerInterface $normalizer = null
37
    ): ServerRequestInterface {
38 4
        $server ??= $_SERVER;
39 4
        $normalizer ??= new SapiNormalizer();
40
41 4
        return new ServerRequest(
42
            $server,
43 4
            UploadedFileCreator::createFromGlobals($files ?? $_FILES),
44 4
            $cookie ?? $_COOKIE,
45 4
            $get ?? $_GET,
46 4
            $post ?? $_POST,
47 4
            $normalizer->normalizeMethod($server),
48 4
            $normalizer->normalizeUri($server),
49 4
            $normalizer->normalizeHeaders($server),
50 4
            new PhpInputStream(),
51 4
            $normalizer->normalizeProtocolVersion($server)
52
        );
53
    }
54
}
55