Completed
Pull Request — master (#2)
by Pol
12:28
created

AbstractClient   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Coupling/Cohesion

Dependencies 1

Importance

Changes 0
Metric Value
wmc 3
cbo 1
dl 0
loc 42
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 1
A getHttpClient() 0 4 1
A getMessageFactory() 0 4 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace drupol\Yaroc\Http;
6
7
use Http\Client\HttpClient;
8
use Http\Discovery\MessageFactoryDiscovery;
9
use Http\Message\MessageFactory;
10
11
/**
12
 * Class AbstractClient.
13
 */
14
abstract class AbstractClient
15
{
16
    /**
17
     * @var \Http\Client\HttpClient
18
     */
19
    private $client;
20
21
    /**
22
     * @var \Http\Message\MessageFactory|null
23
     */
24
    private $messageFactory;
25
26
    /**
27
     * AbstractClient constructor.
28
     *
29
     * @param \Http\Client\HttpClient $client
30
     * @param \Http\Message\MessageFactory|null $messageFactory
31
     */
32
    public function __construct(HttpClient $client, MessageFactory $messageFactory = null)
33
    {
34
        $this->client = $client;
35
        $this->messageFactory = $messageFactory ?? MessageFactoryDiscovery::find();
36
    }
37
38
    /**
39
     * Returns the HTTP adapter.
40
     *
41
     * @return HttpClient
42
     */
43
    protected function getHttpClient(): HttpClient
44
    {
45
        return $this->client;
46
    }
47
48
    /**
49
     * @return MessageFactory
50
     */
51
    protected function getMessageFactory(): MessageFactory
52
    {
53
        return $this->messageFactory;
54
    }
55
}
56