wppaste
WordPress

ErrorMessageExtractor

Since
0.2.0, 0.4.0
Source
wp-includes/php-ai-client/src/Providers/Http/Util/ErrorMessageExtractor.php:15
Utility for extracting error messages from API response data.

Description

Centralizes the logic for parsing common API error response formats to avoid code duplication across exception classes.

Compatibility

WordPress
since 0.4.0
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in 2 of the 5 tracked releases, added in 0.4.0.

Methods · 1

Source code

class ErrorMessageExtractor{    /**     * Extracts error message from API response data.     *     * Handles common error response formats:     * - { "error": { "message": "Error text" } }     * - { "error": "Error text" }     * - { "message": "Error text" }     *     * @since 0.2.0     *     * @param mixed $data The response data to extract error message from.     * @return string|null The extracted error message, or null if none found.     */    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;    }}

Changelog

Introduced in 0.2.0. Unchanged from 7.0.4 through 7.1.0.

  1. 7.0.4
  2. 7.1.0

Signature, return type and hooks compared across 2 parsed releases.

0.4.0
Moved from Utilities namespace to Util namespace.from the docblock
0.2.0
Introduced.from the docblock

About this page

Parsed data
Generated from the wordpress-develop 7.1.0 tag, from src/wp-includes/php-ai-client/src/Providers/Http/Util/ErrorMessageExtractor.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.