WP_AI_Client_HTTP_Client::create_psr_response
Creates a PSR-7 response from a WordPress HTTP response.
Method of the class: WP_AI_Client_HTTP_Client{}
No Hooks.
Returns
ResponseInterface. PSR-7 response.
Usage
// private - for code of main (parent) class only $result = $this->create_psr_response( $wp_response ): ResponseInterface;
- $wp_response(array) (required)
- .
Changelog
| Since 7.0.0 | Introduced. |
WP_AI_Client_HTTP_Client::create_psr_response() WP AI Client HTTP Client::create psr response code WP 7.0
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;
}