Passed
Push — master ( eb38d0...297af8 )
by Thomas
01:48
created

NyholmFactory::createResponse()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 2
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Tebe\HttpFactory\Factory;
6
7
use Nyholm\Psr7\Factory\Psr17Factory;
8
use Psr\Http\Message\ResponseInterface;
9
use Psr\Http\Message\ServerRequestInterface;
10
use Psr\Http\Message\StreamInterface;
11
use Psr\Http\Message\UploadedFileInterface;
12
use Psr\Http\Message\UriInterface;
13
14
class NyholmFactory implements FactoryInterface
15
{
16
17
    /** @var Psr17Factory */
18
    private $factory;
19
20
    /**
21
     * NyholmFactory constructor.
22
     */
23
    public function __construct()
24
    {
25
        $this->factory = new Psr17Factory();
26
    }
27
28
    /**
29
     * Check whether Nyholm PSR-7 is available
30
     */
31
    public static function isInstalled(): bool
32
    {
33
        return class_exists('Nyholm\\Psr7\\Factory\\Psr17Factory');
34
    }
35
36
    /**
37
     * @inheritdoc
38
     */
39
    public function createResponse(int $code = 200, string $reasonPhrase = ''): ResponseInterface
40
    {
41
        return $this->factory->createResponse($code, $reasonPhrase);
42
    }
43
44
    /**
45
     * @inheritdoc
46
     */
47
    public function createServerRequest(string $method, $uri, array $serverParams = []): ServerRequestInterface
48
    {
49
        return $this->factory->createServerRequest($method, $uri, $serverParams);
50
    }
51
52
    /**
53
     * @inheritdoc
54
     */
55
    public function createStream(string $content = ''): StreamInterface
56
    {
57
        return $this->factory->createStream($content);
58
    }
59
60
    /**
61
     * @inheritdoc
62
     */
63
    public function createStreamFromFile(string $filename, string $mode = 'r'): StreamInterface
64
    {
65
        return $this->factory->createStreamFromFile($filename, $mode);
66
    }
67
68
    /**
69
     * @inheritdoc
70
     */
71
    public function createStreamFromResource($resource): StreamInterface
72
    {
73
        return $this->factory->createStreamFromResource($resource);
74
    }
75
76
    /**
77
     * @inheritdoc
78
     */
79
    public function createUri(string $uri = ''): UriInterface
80
    {
81
        return $this->factory->createUri($uri);
82
    }
83
84
    /**
85
     * @inheritdoc
86
     */
87
    public function createUploadedFile(
88
        StreamInterface $stream,
89
        int $size = null,
90
        int $error = \UPLOAD_ERR_OK,
91
        string $clientFilename = null,
92
        string $clientMediaType = null
93
    ): UploadedFileInterface {
94
        return $this->factory->createUploadedFile($stream, $size, $error, $clientFilename, $clientMediaType);
95
    }
96
}
97