Passed
Pull Request — master (#9)
by Magnar Ovedal
02:07
created

HttpFactory::uriFactory()   A

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
eloc 1
dl 0
loc 3
ccs 0
cts 2
cp 0
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 2
1
<?php
2
declare(strict_types=1);
3
4
namespace Http\Factory\Discovery;
5
6
use Psr\Http\Message\RequestFactoryInterface;
7
use Psr\Http\Message\ResponseFactoryInterface;
8
use Psr\Http\Message\ServerRequestFactoryInterface;
9
use Psr\Http\Message\StreamFactoryInterface;
10
use Psr\Http\Message\UploadedFileFactoryInterface;
11
use Psr\Http\Message\UriFactoryInterface;
12
13
final class HttpFactory extends DiscoveryCache
14
{
15
    public static function requestFactory(): RequestFactoryInterface
16
    {
17
        return self::makeInstance(RequestFactoryInterface::class);
18
    }
19
20
    public static function responseFactory(): ResponseFactoryInterface
21
    {
22
        return self::makeInstance(ResponseFactoryInterface::class);
23
    }
24
25
    public static function serverRequestFactory(): ServerRequestFactoryInterface
26
    {
27
        return self::makeInstance(ServerRequestFactoryInterface::class);
28
    }
29
30
    public static function streamFactory(): StreamFactoryInterface
31
    {
32
        return self::makeInstance(StreamFactoryInterface::class);
33
    }
34
35
    public static function uploadedFileFactory(): UploadedFileFactoryInterface
36
    {
37
        return self::makeInstance(UploadedFileFactoryInterface::class);
38
    }
39
40
    public static function uriFactory(): UriFactoryInterface
41
    {
42
        return self::makeInstance(UriFactoryInterface::class);
43
    }
44
45
    protected static function locate(string $interface): string
46
    {
47
        return FactoryLocator::locate($interface);
48
    }
49
}
50