Passed
Push — master ( 10fd01...6c0fb4 )
by Anatoly
01:35
created

HttpException::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 3
dl 0
loc 7
rs 10
c 0
b 0
f 0
1
<?php declare(strict_types=1);
2
3
/**
4
 * It's free open-source software released under the MIT License.
5
 *
6
 * @author Anatoly Fenric <[email protected]>
7
 * @copyright Copyright (c) 2018, Anatoly Fenric
8
 * @license https://github.com/sunrise-php/http-router/blob/master/LICENSE
9
 * @link https://github.com/sunrise-php/http-router
10
 */
11
12
namespace Sunrise\Http\Router\Exception;
13
14
/**
15
 * Import classes
16
 */
17
use Psr\Http\Message\ResponseInterface;
18
use Psr\Http\Message\ServerRequestInterface;
19
20
/**
21
 * HttpException
22
 */
23
class HttpException extends \RuntimeException implements HttpExceptionInterface
24
{
25
26
	/**
27
	 * Server Request instance
28
	 *
29
	 * @var ServerRequestInterface
30
	 */
31
	protected $request;
32
33
	/**
34
	 * Response instance
35
	 *
36
	 * @var ResponseInterface
37
	 */
38
	protected $response;
39
40
	/**
41
	 * Constructor of the class
42
	 *
43
	 * @param ServerRequestInterface $request
44
	 * @param ResponseInterface $response
45
	 * @param null|\Throwable $previous
46
	 */
47
	public function __construct(ServerRequestInterface $request, ResponseInterface $response, \Throwable $previous = null)
48
	{
49
		$this->request = $request;
50
51
		$this->response = $response;
52
53
		parent::__construct(\sprintf('%d %s', $response->getStatusCode(), $response->getReasonPhrase()), 0, $previous);
54
	}
55
56
	/**
57
	 * {@inheritDoc}
58
	 */
59
	public function getRequest() : ServerRequestInterface
60
	{
61
		return $this->request;
62
	}
63
64
	/**
65
	 * {@inheritDoc}
66
	 */
67
	public function getResponse() : ResponseInterface
68
	{
69
		return $this->response;
70
	}
71
}
72