X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=lib%2FException%2FRequestException.php;h=7f91535b7d59f3c8cf69af8d26fac31ac4954077;hb=2451d97f1cb7b97e445b4dd839835b8673a4d0fc;hp=877664e13ea458f17ed18ed639c2a4360f9d7c5b;hpb=8ef054b51c681e7822133b38f7c5ed9dd2a0f29c;p=m6w6%2Fseekat diff --git a/lib/Exception/RequestException.php b/lib/Exception/RequestException.php index 877664e..7f91535 100644 --- a/lib/Exception/RequestException.php +++ b/lib/Exception/RequestException.php @@ -2,16 +2,33 @@ namespace seekat\Exception; +use Exception as BaseException; +use http\ { + Client\Response, + Header +}; use seekat\Exception; -use http\Header; -use http\Client\Response; - -class RequestException extends \Exception implements Exception +/** + * @code-coverage-ignore + */ +class RequestException extends BaseException implements Exception { + /** + * JSON errors + * @var array + */ private $errors = []; + + /** + * The response of the request which caused the exception + * @var Response + */ private $response; + /** + * @param Response $response + */ function __construct(Response $response) { $this->response = $response; @@ -36,10 +53,19 @@ class RequestException extends \Exception implements Exception parent::__construct($message, $response->getResponseCode(), null); } + /** + * Get JSON errors + * @return array + */ function getErrors() : array { return $this->errors; } + /** + * Combine any errors into a single string + * @staticvar array $reasons + * @return string + */ function getErrorsAsString() { static $reasons = [ "missing" => "The resource %1\$s does not exist\n", @@ -63,6 +89,9 @@ class RequestException extends \Exception implements Exception return $errors; } + /** + * @return string + */ function __toString() : string { return parent::__toString() . "\n". $this->getErrorsAsString(); }