BadRequestException::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 8
ccs 6
cts 6
cp 1
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 5
nc 1
nop 3
crap 1
1
<?php declare(strict_types=1);
2
3
/*
4
 * This file is part of indragunawan/rest-service package.
5
 *
6
 * (c) Indra Gunawan <[email protected]>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace IndraGunawan\RestService\Exception;
13
14
class BadRequestException extends \RuntimeException
15
{
16
    /**
17
     * @var mixed
18
     */
19
    private $requestCode;
20
21
    /**
22
     * @var string
23
     */
24
    private $requestMessage;
25
26
    /**
27
     * @var \Exception
28
     */
29
    private $prev;
30
31
    /**
32
     * @param mixed           $requestCode
33
     * @param string          $requestMessage
34
     * @param \Exception|null $prev
35
     */
36 1
    public function __construct($requestCode, $requestMessage, \Exception $prev = null)
37
    {
38 1
        $this->requestCode = $requestCode;
39 1
        $this->requestMessage = $requestMessage;
40 1
        $this->prev = $prev;
41
42 1
        parent::__construct($requestCode.': '.$requestMessage, 0, $prev);
43 1
    }
44
45
    /**
46
     * Get Request Code.
47
     *
48
     * @return mixed
49
     */
50 1
    public function getRequestCode()
51
    {
52 1
        return $this->requestCode;
53
    }
54
55
    /**
56
     * Get Request Message.
57
     *
58
     * @return string
59
     */
60 1
    public function getRequestMessage()
61
    {
62 1
        return $this->requestMessage;
63
    }
64
65
    /**
66
     * {@inheritdoc}
67
     */
68 1
    public function __toString()
69
    {
70 1
        return $this->requestCode.': '.$this->requestMessage;
71
    }
72
73
    /**
74
     * Get body content if exists.
75
     */
76
    public function getBodyContent()
77
    {
78
        if ($this->prev instanceof \GuzzleHttp\Exception\BadResponseException) {
79
            return $this->prev->getResponse()->getBody();
80
        }
81
82
        return;
83
    }
84
}
85