Yoast\WP\SEO\AI_HTTP_Request\Application

Response_Parser::parsepublicYoast 1.0

Parses the response from the API.

Метод класса: Response_Parser{}

Хуков нет.

Возвращает

Response. The parsed response.

Использование

$Response_Parser = new Response_Parser();
$Response_Parser->parse( $response ): Response;
$response(array<int|строка|array>) (обязательный)
The response from the API.

Код Response_Parser::parse() Yoast 28.3

public function parse( $response ): Response {
	$response_code    = ( \wp_remote_retrieve_response_code( $response ) !== '' ) ? \wp_remote_retrieve_response_code( $response ) : 0;
	$response_message = \esc_html( \wp_remote_retrieve_response_message( $response ) );
	$error_code       = '';
	$missing_licenses = [];

	if ( $response_code !== 200 && $response_code !== 0 ) {
		$json_body = \json_decode( \wp_remote_retrieve_body( $response ) );
		if ( $json_body !== null ) {
			$response_message = ( $json_body->message ?? $response_message );
			$error_code       = ( $json_body->error_code ?? $this->map_message_to_code( $response_message ) );
			if ( $response_code === 402 || $response_code === 429 ) {
				$missing_licenses = isset( $json_body->missing_licenses ) ? (array) $json_body->missing_licenses : [];
			}
		}
	}

	return new Response( $response['body'], $response_code, $response_message, $error_code, $missing_licenses );
}