Total Complexity | 2 |
Total Lines | 32 |
Duplicated Lines | 0 % |
Changes | 2 | ||
Bugs | 0 | Features | 0 |
1 | <?php |
||
8 | class PostRequest extends Curl |
||
9 | { |
||
10 | /** |
||
11 | * @param string $endpoint |
||
12 | * @param array $params |
||
13 | * @return IResponseHandlerInterface |
||
14 | */ |
||
15 | public function execute(string $endpoint, array $params): array |
||
16 | { |
||
17 | $bodyParams = $this->buildRequestParams($params); |
||
18 | |||
19 | $this->addCurlOpt(CURLOPT_URL, "{$this->credentials->getHost()}{$endpoint}") |
||
20 | ->addCurlOpt(CURLOPT_CUSTOMREQUEST, EnumHttpMethods::POST) |
||
21 | ->addCurlOpt(CURLOPT_ENCODING, '') |
||
22 | ->addCurlOpt(CURLOPT_MAXREDIRS, 10) |
||
23 | ->addCurlOpt(CURLOPT_TIMEOUT, 0) |
||
24 | ->addCurlOpt(CURLOPT_FOLLOWLOCATION, true) |
||
25 | ->addCurlOpt(CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1) |
||
26 | ->addCurlOpt(CURLOPT_POSTFIELDS, $bodyParams); |
||
27 | |||
28 | $this->auth($bodyParams); |
||
29 | |||
30 | return $this->query(); |
||
|
|||
31 | } |
||
32 | |||
33 | /** |
||
34 | * @param array $queryParams |
||
35 | * @return string|null |
||
36 | */ |
||
37 | private function buildRequestParams(array $queryParams): ?string |
||
40 | } |
||
41 | } |
||
42 |