Automattic\WooCommerce\Internal\CLI\Migrator\Platforms\Webflow

WebflowClient::process_response │ private │ WC 1.0

Process the API response.

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

Хуков нет.

Возвращает

object|array|\WP_Error. Decoded response or WP_Error.

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

// private - только в коде основоного (родительского) класса
$result = $this->process_response( $response, $path );
$response(массив|\WP_Error) (обязательный)
The HTTP response.
$path(строка) (обязательный)
The API path (for error context).

Код WebflowClient::process_response() WC 11.2.2

private function process_response( $response, string $path ) {
	if ( is_wp_error( $response ) ) {
		return new \WP_Error( 'api_error', 'REST request failed: ' . $response->get_error_message() );
	}

	$response_code = (int) wp_remote_retrieve_response_code( $response );
	$response_body = wp_remote_retrieve_body( $response );

	if ( $response_code >= 300 ) {
		$decoded       = json_decode( $response_body );
		$error_message = is_object( $decoded ) && isset( $decoded->message ) ? $decoded->message : $response_body;
		return new \WP_Error(
			'api_error',
			"REST request to {$path} failed with status code {$response_code}: " . $error_message
		);
	}

	$data = json_decode( $response_body );

	if ( JSON_ERROR_NONE !== json_last_error() ) {
		return new \WP_Error( 'api_error', 'Failed to decode REST JSON response: ' . json_last_error_msg() );
	}

	return $data;
}