-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathRestException.php
More file actions
73 lines (61 loc) · 1.39 KB
/
RestException.php
File metadata and controls
73 lines (61 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
declare(strict_types=1);
namespace Mapado\RestClientSdk\Exception;
use GuzzleHttp\Exception\RequestException;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;
/**
* Class RestException
*
* @author Julien Deniau <julien.deniau@mapado.com>
*/
class RestException extends \RuntimeException
{
/**
* @var string
*/
private $path;
/**
* @var array
*/
private $params;
/**
* @var ResponseInterface|null
*/
private $response;
/**
* @var RequestInterface|null
*/
private $request;
public function __construct(
string $message,
string $path,
array $params = [],
int $code = 0,
\Exception $previous = null,
) {
parent::__construct($message, $code, $previous);
$this->path = $path;
$this->params = $params;
if ($previous instanceof RequestException) {
$this->response = $previous->getResponse();
$this->request = $previous->getRequest();
}
}
public function getPath(): string
{
return $this->path;
}
public function getParams(): array
{
return $this->params;
}
public function getResponse(): ?ResponseInterface
{
return $this->response;
}
public function getRequest(): ?RequestInterface
{
return $this->request;
}
}