WordPress\AiClient\Providers\Http\Util

ResponseUtil::throwIfNotSuccessfulpublic staticWP 0.1.0

Throws an appropriate exception if the given response is not successful.

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)

Method of the class: ResponseUtil{}

No Hooks.

Returns

null. Nothing (null).

Usage

$result = ResponseUtil::throwIfNotSuccessful( $response ): void;
$response(Response) (required)
The HTTP response to check.

Changelog

Since 0.1.0 Introduced.

ResponseUtil::throwIfNotSuccessful() code WP 7.0

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()));
}