Passed
Push — develop ( d31b83...28ee2c )
by Jens
09:38
created

ErrorResponse   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 43
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 5
lcom 1
cbo 2
dl 0
loc 43
ccs 11
cts 11
cp 1
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 9 1
A isError() 0 4 1
A getMessage() 0 8 3
1
<?php
2
/**
3
 * @author @jayS-de <[email protected]>
4
 */
5
6
namespace Commercetools\Core\Response;
7
8
use Commercetools\Core\Error\ErrorContainer;
9
use Commercetools\Core\Model\Common\Context;
10
use Commercetools\Core\Request\ClientRequestInterface;
11
use Psr\Http\Message\ResponseInterface;
12
13
class ErrorResponse extends AbstractApiResponse
14
{
15
    /**
16
     * @var \Exception
17
     */
18
    private $exception;
19
20
    /**
21
     * @var string
22
     */
23
    private $message;
24
25
    /**
26
     * ErrorResponse constructor.
27
     * @param ResponseInterface $response
28
     * @param ClientRequestInterface $request
29
     * @param \Exception $exception
30
     * @param Context $context
31
     */
32 81
    public function __construct(
33
        \Exception $exception,
34
        ClientRequestInterface $request,
35
        ResponseInterface $response,
36
        Context $context = null
37
    ) {
38 81
        parent::__construct($response, $request, $context);
39 81
        $this->exception = $exception;
40 81
    }
41
42 61
    public function isError()
43
    {
44 61
        return true;
45
    }
46
47 2
    public function getMessage()
48
    {
49 2
        if (is_null($this->message)) {
50 2
            $message = $this->getResponseField('message', null);
51 2
            $this->message = !is_null($message) ? $message : $this->getResponse()->getReasonPhrase();
52
        }
53 2
        return $this->message;
54
    }
55
}
56