BookingFacade::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 6
ccs 0
cts 6
cp 0
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 3
crap 2
1
<?php
2
3
namespace DJStarCOM\BookingComSDK;
4
5
use DJStarCOM\BookingComSDK\HttpClient\CurlClient;
6
use DJStarCOM\BookingComSDK\Models\Result;
7
use DJStarCOM\BookingComSDK\Query\Query;
8
use ErrorException;
9
10
/**
11
 * Class BookingFacade
12
 * @package DJStarCOM\BookingComSDK
13
 */
14
class BookingFacade
15
{
16
    /**
17
     * @var CurlClient
18
     */
19
    private $httpClient;
20
21
    /**
22
     * BookingFacade constructor.
23
     * @param string $login
24
     * @param string $password
25
     * @param int $timeout
26
     * @throws ErrorException
27
     */
28
    public function __construct(string $login, string $password, int $timeout = 30)
29
    {
30
        $this->httpClient = new CurlClient();
31
        $this->httpClient->setBasicAuthentication($login, $password);
32
        $this->httpClient->setTimeout($timeout);
33
    }
34
35
    /**
36
     * @param Query $query
37
     * @return Result
38
     * @throws Exceptions\BookingResponseException
39
     */
40
    public function query(Query $query): Result
41
    {
42
        $booking = new Booking($this->httpClient);
43
44
        return $booking->query($query);
45
    }
46
}
47