WordPress\AiClient\Providers\Http\Util

ErrorMessageExtractor::extractFromResponseDatapublic staticWP 0.2.0

Extracts error message from API response data.

Handles common error response formats:

  • { "error": { "message": "Error text" } }
  • { "error": "Error text" }
  • { "message": "Error text" }

Method of the class: ErrorMessageExtractor{}

No Hooks.

Returns

String|null. The extracted error message, or null if none found.

Usage

$result = ErrorMessageExtractor::extractFromResponseData( $data ): ?string;
$data(mixed) (required)
The response data to extract error message from.

Changelog

Since 0.2.0 Introduced.

ErrorMessageExtractor::extractFromResponseData() code WP 7.0

public static function extractFromResponseData($data): ?string
{
    if (!is_array($data)) {
        return null;
    }
    // Handle [ { "error": { "message": "Error text" } } ]
    if (isset($data[0]) && is_array($data[0]) && isset($data[0]['error']) && is_array($data[0]['error']) && isset($data[0]['error']['message']) && is_string($data[0]['error']['message'])) {
        return $data[0]['error']['message'];
    }
    // Handle { "error": { "message": "Error text" } }
    if (isset($data['error']) && is_array($data['error']) && isset($data['error']['message']) && is_string($data['error']['message'])) {
        return $data['error']['message'];
    }
    // Handle { "error": "Error text" }
    if (isset($data['error']) && is_string($data['error'])) {
        return $data['error'];
    }
    // Handle { "message": "Error text" }
    if (isset($data['message']) && is_string($data['message'])) {
        return $data['message'];
    }
    return null;
}