WP_AI_Client_HTTP_Client::create_psr_response │ private │ WP 7.0.0

Creates a PSR-7 response from a WordPress HTTP response.

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

Хуков нет.

Возвращает

ResponseInterface. PSR-7 response.

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

// private - только в коде основоного (родительского) класса
$result = $this->create_psr_response( $wp_response ): ResponseInterface;
$wp_response(array<string, mixed>) (обязательный)
WordPress HTTP API response array.

Список изменений

С версии 7.0.0 Введена.

Код WP_AI_Client_HTTP_Client::create_psr_response() WP 7.1.4

private function create_psr_response( array $wp_response ): ResponseInterface {
	$status_code   = wp_remote_retrieve_response_code( $wp_response );
	$reason_phrase = wp_remote_retrieve_response_message( $wp_response );
	$headers       = wp_remote_retrieve_headers( $wp_response );
	$body          = wp_remote_retrieve_body( $wp_response );

	$response = $this->response_factory->createResponse( (int) $status_code, $reason_phrase );

	if ( $headers instanceof WP_HTTP_Requests_Response ) {
		$headers = $headers->get_headers();
	}

	if ( is_array( $headers ) || $headers instanceof Traversable ) {
		foreach ( $headers as $name => $value ) {
			$response = $response->withHeader( $name, $value );
		}
	}

	if ( ! empty( $body ) ) {
		$stream   = $this->stream_factory->createStream( $body );
		$response = $response->withBody( $stream );
	}

	return $response;
}