ApiRequester::handleRequest()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 2
dl 0
loc 4
c 1
b 0
f 0
rs 10
cc 1
nc 1
nop 1
1
<?php
2
3
namespace ByJG\ApiTools;
4
5
use ByJG\WebRequest\Exception\MessageException;
6
use ByJG\WebRequest\Exception\NetworkException;
7
use ByJG\WebRequest\Exception\RequestException;
8
use ByJG\WebRequest\HttpClient;
9
use Psr\Http\Message\RequestInterface;
10
use Psr\Http\Message\ResponseInterface;
11
12
/**
13
 * Request handler based on ByJG HttpClient (WebRequest) .
14
 */
15
class ApiRequester extends AbstractRequester
16
{
17
    /** @var HttpClient */
18
    private HttpClient $httpClient;
19
20
    /**
21
     * ApiRequester constructor.
22
     * @throws RequestException
23
     * @throws MessageException
24
     */
25
    public function __construct()
26
    {
27
        $this->httpClient = HttpClient::getInstance()
28
            ->withNoFollowRedirect();
29
30
        parent::__construct();
31
    }
32
33
    /**
34
     * @param RequestInterface $request
35
     * @return ResponseInterface
36
     * @throws NetworkException
37
     * @throws RequestException
38
     */
39
    protected function handleRequest(RequestInterface $request): ResponseInterface
40
    {
41
        $request = $request->withHeader("User-Agent", "ByJG Swagger Test");
42
        return $this->httpClient->sendRequest($request);
43
    }
44
}
45