Passed
Pull Request — develop (#23)
by Adam
01:31
created

DiscoveryTrait::discoverUriFactory()   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 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace IBM\Watson\Common\Util;
6
7
use Http\Client\HttpClient;
8
use Http\Discovery\HttpClientDiscovery;
9
use Http\Discovery\MessageFactoryDiscovery;
10
use Http\Discovery\UriFactoryDiscovery;
11
use Http\Message\MessageFactory;
12
use Http\Message\UriFactory;
13
14
/**
15
 * Utility trait for discovering required components.
16
 */
17
trait DiscoveryTrait
18
{
19
    /**
20
     * Discover configured HTTP client.
21
     *
22
     * @return \Http\Client\HttpClient
23
     */
24
    public function discoverHttpClient(): HttpClient
25
    {
26
        return HttpClientDiscovery::find();
27
    }
28
29
    /**
30
     * Discover configured message factory.
31
     *
32
     * @return \Http\Message\MessageFactory
33
     */
34
    public function discoverMessageFactory(): MessageFactory
35
    {
36
        return MessageFactoryDiscovery::find();
37
    }
38
39
    /**
40
     * Discover configured URI factory.
41
     *
42
     * @return \Http\Message\UriFactory
43
     */
44
    public function discoverUriFactory(): UriFactory
45
    {
46
        return UriFactoryDiscovery::find();
47
    }
48
}
49