ApiRequester   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Importance

Changes 3
Bugs 0 Features 0
Metric Value
wmc 2
eloc 7
c 3
b 0
f 0
dl 0
loc 28
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A handleRequest() 0 4 1
A __construct() 0 6 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