BadRequestException   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 71
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 75%

Importance

Changes 0
Metric Value
wmc 6
lcom 1
cbo 1
dl 0
loc 71
ccs 12
cts 16
cp 0.75
rs 10
c 0
b 0
f 0

5 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 8 1
A getRequestCode() 0 4 1
A getRequestMessage() 0 4 1
A __toString() 0 4 1
A getBodyContent() 0 8 2
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