CurlResponseHandler::build()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 15
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 12
c 2
b 0
f 0
dl 0
loc 15
rs 9.8666
cc 2
nc 2
nop 2
1
<?php
2
3
namespace Carpenstar\ByBitAPI\Core\Response;
4
5
use Carpenstar\ByBitAPI\Core\Interfaces\IResponseInterface;
6
use Carpenstar\ByBitAPI\Core\Interfaces\IResponseHandlerInterface;
7
use Carpenstar\ByBitAPI\Core\Objects\ExceptionResponse;
8
use Carpenstar\ByBitAPI\Core\Objects\SuccessResponse;
9
10
class CurlResponseHandler implements IResponseHandlerInterface
11
{
12
    /**
13
     * @param array $apiData
14
     * @param string $dto
15
     * @return IResponseInterface
16
     */
17
    public function build(array $apiData, string $dto): IResponseInterface
18
    {
19
        if ($apiData['retCode'] == 0) {
20
            return new SuccessResponse(
21
                $dto,
22
                $apiData['retCode'],
23
                $apiData['retMsg'],
24
                $apiData['retExtInfo'],
25
                $apiData['result'],
26
                $apiData['result']['nextPageCursor'] ?? ''
27
            );
28
        } else {
29
            return new ExceptionResponse([
30
                'success' => false,
31
                'ret_msg' => $apiData['retMsg'],
32
            ]);
33
        }
34
    }
35
}
36