Documentation

ResponseInterface

A (lazily retrieved) HTTP response.

Tags
author

Nicolas Grekas p@tchwork.com

Table of Contents

cancel()  : void
Closes the response stream and all related buffers.
getContent()  : string
Gets the response body as a string.
getHeaders()  : array<string|int, array<string|int, string>>
Gets the HTTP headers of the response.
getInfo()  : mixed
Returns info coming from the transport layer.
getStatusCode()  : int
Gets the HTTP status code of the response.
toArray()  : array<string|int, mixed>
Gets the response body decoded as array, typically from a JSON payload.

Methods

cancel()

Closes the response stream and all related buffers.

public cancel() : void

No further chunk will be yielded after this method has been called.

Return values
void

getContent()

Gets the response body as a string.

public getContent([bool $throw = true ]) : string
Parameters
$throw : bool = true

Whether an exception should be thrown on 3/4/5xx status codes

Tags
throws
TransportExceptionInterface

When a network error occurs

throws
RedirectionExceptionInterface

On a 3xx when $throw is true and the "max_redirects" option has been reached

throws
ClientExceptionInterface

On a 4xx when $throw is true

throws
ServerExceptionInterface

On a 5xx when $throw is true

Return values
string

getHeaders()

Gets the HTTP headers of the response.

public getHeaders([bool $throw = true ]) : array<string|int, array<string|int, string>>
Parameters
$throw : bool = true

Whether an exception should be thrown on 3/4/5xx status codes

Tags
throws
TransportExceptionInterface

When a network error occurs

throws
RedirectionExceptionInterface

On a 3xx when $throw is true and the "max_redirects" option has been reached

throws
ClientExceptionInterface

On a 4xx when $throw is true

throws
ServerExceptionInterface

On a 5xx when $throw is true

Return values
array<string|int, array<string|int, string>>

The headers of the response keyed by header names in lowercase

getInfo()

Returns info coming from the transport layer.

public getInfo([string|null $type = null ]) : mixed

This method SHOULD NOT throw any ExceptionInterface and SHOULD be non-blocking. The returned info is "live": it can be empty and can change from one call to another, as the request/response progresses.

The following info MUST be returned:

  • canceled (bool) - true if the response was canceled using ResponseInterface::cancel(), false otherwise
  • error (string|null) - the error message when the transfer was aborted, null otherwise
  • http_code (int) - the last response code or 0 when it is not known yet
  • http_method (string) - the HTTP verb of the last request
  • redirect_count (int) - the number of redirects followed while executing the request
  • redirect_url (string|null) - the resolved location of redirect responses, null otherwise
  • response_headers (array) - an array modelled after the special $http_response_header variable
  • start_time (float) - the time when the request was sent or 0.0 when it's pending
  • url (string) - the last effective URL of the request
  • user_data (mixed) - the value of the "user_data" request option, null if not set

When the "capture_peer_cert_chain" option is true, the "peer_certificate_chain" attribute SHOULD list the peer certificates as an array of OpenSSL X.509 resources.

Other info SHOULD be named after curl_getinfo()'s associative return value.

Parameters
$type : string|null = null
Return values
mixed

An array of all available info, or one of them when $type is provided, or null when an unsupported type is requested

toArray()

Gets the response body decoded as array, typically from a JSON payload.

public toArray([bool $throw = true ]) : array<string|int, mixed>
Parameters
$throw : bool = true

Whether an exception should be thrown on 3/4/5xx status codes

Tags
throws
DecodingExceptionInterface

When the body cannot be decoded to an array

throws
TransportExceptionInterface

When a network error occurs

throws
RedirectionExceptionInterface

On a 3xx when $throw is true and the "max_redirects" option has been reached

throws
ClientExceptionInterface

On a 4xx when $throw is true

throws
ServerExceptionInterface

On a 5xx when $throw is true

Return values
array<string|int, mixed>

Search results