Completed
Pull Request — master (#9)
by Magnar Ovedal
02:36
created

HttpFactory::clearCache()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 2.0625

Importance

Changes 0
Metric Value
cc 2
eloc 4
nc 2
nop 1
dl 0
loc 6
ccs 3
cts 4
cp 0.75
crap 2.0625
rs 10
c 0
b 0
f 0
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::instance(RequestFactoryInterface::class);
18
    }
19
20
    public static function responseFactory(): ResponseFactoryInterface
21
    {
22
        return self::instance(ResponseFactoryInterface::class);
23
    }
24
25
    public static function serverRequestFactory(): ServerRequestFactoryInterface
26
    {
27
        return self::instance(ServerRequestFactoryInterface::class);
28
    }
29
30
    public static function streamFactory(): StreamFactoryInterface
31
    {
32
        return self::instance(StreamFactoryInterface::class);
33
    }
34
35
    public static function uploadedFileFactory(): UploadedFileFactoryInterface
36
    {
37
        return self::instance(UploadedFileFactoryInterface::class);
38
    }
39
40
    public static function uriFactory(): UriFactoryInterface
41
    {
42
        return self::instance(UriFactoryInterface::class);
43
    }
44
45
    protected static function locate(string $interface): string
46
    {
47
        return FactoryLocator::locate($interface);
48
    }
49
}
50