diff --git a/src/Exceptions/Request/Statuses/BadGatewayException.php b/src/Exceptions/Request/Statuses/BadGatewayException.php new file mode 100644 index 00000000..a8d0f44a --- /dev/null +++ b/src/Exceptions/Request/Statuses/BadGatewayException.php @@ -0,0 +1,12 @@ + BadRequestException::class, $status === 401 => UnauthorizedException::class, $status === 402 => PaymentRequiredException::class, $status === 403 => ForbiddenException::class, $status === 404 => NotFoundException::class, $status === 405 => MethodNotAllowedException::class, $status === 408 => RequestTimeOutException::class, + $status === 409 => ConflictException::class, $status === 422 => UnprocessableEntityException::class, $status === 429 => TooManyRequestsException::class, $status === 500 => InternalServerErrorException::class, + $status === 502 => BadGatewayException::class, $status === 503 => ServiceUnavailableException::class, $status === 504 => GatewayTimeoutException::class, diff --git a/tests/Unit/RequestExceptionTest.php b/tests/Unit/RequestExceptionTest.php index db4d2b40..98bbd042 100644 --- a/tests/Unit/RequestExceptionTest.php +++ b/tests/Unit/RequestExceptionTest.php @@ -9,8 +9,11 @@ use Saloon\Exceptions\Request\RequestException; use Saloon\Tests\Fixtures\Requests\UserRequest; use Saloon\Tests\Fixtures\Connectors\TestConnector; +use Saloon\Exceptions\Request\Statuses\ConflictException; use Saloon\Exceptions\Request\Statuses\NotFoundException; use Saloon\Exceptions\Request\Statuses\ForbiddenException; +use Saloon\Exceptions\Request\Statuses\BadGatewayException; +use Saloon\Exceptions\Request\Statuses\BadRequestException; use Saloon\Tests\Fixtures\Requests\AlwaysHasFailureRequest; use Saloon\Exceptions\Request\Statuses\UnauthorizedException; use Saloon\Exceptions\Request\Statuses\GatewayTimeoutException; @@ -35,15 +38,18 @@ expect($exception)->toBeInstanceOf($expectedException); expect($exception->getMessage())->toEqual($message); })->with([ + [400, BadRequestException::class], [401, UnauthorizedException::class], [402, PaymentRequiredException::class], [403, ForbiddenException::class], [404, NotFoundException::class], [405, MethodNotAllowedException::class], [408, RequestTimeOutException::class], + [409, ConflictException::class], [422, UnprocessableEntityException::class], [429, TooManyRequestsException::class], [500, InternalServerErrorException::class], + [502, BadGatewayException::class], [503, ServiceUnavailableException::class], [504, GatewayTimeoutException::class], [418, ClientException::class],