Client   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 53
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
eloc 13
c 1
b 0
f 0
dl 0
loc 53
ccs 14
cts 14
cp 1
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A setHttpClient() 0 3 1
A getHttpClient() 0 3 1
A constructHttpClient() 0 7 1
1
<?php
2
3
4
namespace slavkluev\Bizon365;
5
6
/**
7
 * Class Client
8
 * @package slavkluev\Bizon365
9
 */
10
class Client
11
{
12
    use ApiMethodsTrait;
13
14
    const BASE_URI = 'https://online.bizon365.ru/api/v1/';
15
16
    /**
17
     * Stores the HTTP Client
18
     * @var \GuzzleHttp\Client
19
     */
20
    private $httpClient;
21
22
    /**
23
     * Stores the token
24
     * @var string
25
     */
26
    private $token;
27
28
    /**
29
     * Client constructor.
30
     *
31
     * @param string $token  Token
32
     * @param array  $config GuzzleClient configuration settings.
33
     */
34 48
    public function __construct(string $token, array $config = [])
35
    {
36 48
        $this->token = $token;
37 48
        $this->constructHttpClient($config);
38 48
    }
39
40 48
    protected function constructHttpClient($config)
41
    {
42 48
        $config = array_merge($config, [
43 48
            'base_uri' => self::BASE_URI,
44 48
            'headers' => ['X-Token' => $this->token]
45
        ]);
46 48
        $this->httpClient = new \GuzzleHttp\Client($config);
47 48
    }
48
49
    /**
50
     * @return \GuzzleHttp\Client
51
     */
52 45
    public function getHttpClient()
53
    {
54 45
        return $this->httpClient;
55
    }
56
57
    /**
58
     * @param \GuzzleHttp\Client $httpClient
59
     */
60 36
    public function setHttpClient($httpClient): void
61
    {
62 36
        $this->httpClient = $httpClient;
63 36
    }
64
}
65