Throws an appropriate exception if the given response is not successful.
Description
This method checks the HTTP status code of the response and throws the appropriate exception type based on the status code range:
- 3xx: RedirectException (redirect responses)
- 4xx: ClientException (client errors)
- 5xx: ServerException (server errors)
- Other unsuccessful responses: RuntimeException (invalid status codes)
Parameters
$responseWordPressAiClientProvidersHttpDTOResponserequired- The HTTP response to check.
Source
public static function throwIfNotSuccessful(Response $response): void
{
if ($response->isSuccessful()) {
return;
}
$statusCode = $response->getStatusCode();
// 3xx Redirect Responses
if ($statusCode >= 300 && $statusCode < 400) {
throw RedirectException::fromRedirectResponse($response);
}
// 4xx Client Errors
if ($statusCode >= 400 && $statusCode < 500) {
throw ClientException::fromClientErrorResponse($response);
}
// 5xx Server Errors
if ($statusCode >= 500 && $statusCode < 600) {
throw ServerException::fromServerErrorResponse($response);
}
throw new \RuntimeException(sprintf('Response returned invalid status code: %s', $response->getStatusCode()));
}
Changelog
| Version | Description |
|---|---|
| 0.1.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.