ResponseUtil::throwIfNotSuccessful( WordPressAiClientProvidersHttpDTOResponse $response )

In this article

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

VersionDescription
0.1.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.