Completed
Push — master ( c532ca...92abf0 )
by Tobias
03:55
created

DiscoveryStrategy::getCandidates()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 6

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 8
ccs 0
cts 7
cp 0
rs 9.4285
cc 2
eloc 4
nc 2
nop 1
crap 6
1
<?php
2
3
namespace Nyholm\Psr7\Httplug;
4
5
use Http\Discovery\Strategy\DiscoveryStrategy as HttplugDiscoveryStrategy;
6
use Nyholm\Psr7\Factory\MessageFactory;
7
use Nyholm\Psr7\Factory\StreamFactory;
8
use Nyholm\Psr7\Factory\UriFactory;
9
10
/**
11
 * A discovery strategy to use our factories with HTTPlug auto discovery.
12
 *
13
 * @author Tobias Nyholm <[email protected]>
14
 */
15
class DiscoveryStrategy implements HttplugDiscoveryStrategy
16
{
17
    /**
18
     * @var array
19
     */
20
    private static $classes = [
21
        'Http\Message\MessageFactory' => [
22
            ['class' => MessageFactory::class],
23
        ],
24
        'Http\Message\StreamFactory' => [
25
            ['class' => StreamFactory::class],
26
        ],
27
        'Http\Message\UriFactory' => [
28
            ['class' => UriFactory::class],
29
        ],
30
    ];
31
32
    /**
33
     * {@inheritdoc}
34
     */
35
    public static function getCandidates($type)
36
    {
37
        if (isset(self::$classes[$type])) {
38
            return self::$classes[$type];
39
        }
40
41
        return [];
42
    }
43
}
44