Http request exception thrown when a bad response is received
Expanded class hierarchy of BadResponseException
class BadResponseException extends RequestException {
/**
* @var Response
*/
private $response;
/**
* Factory method to create a new response exception based on the response code.
*
* @param RequestInterface $request Request
* @param Response $response Response received
*
* @return BadResponseException
*/
public static function factory(RequestInterface $request, Response $response) {
if ($response
->isClientError()) {
$label = 'Client error response';
$class = __NAMESPACE__ . '\\ClientErrorResponseException';
}
elseif ($response
->isServerError()) {
$label = 'Server error response';
$class = __NAMESPACE__ . '\\ServerErrorResponseException';
}
else {
$label = 'Unsuccessful response';
$class = __CLASS__;
$e = new self();
}
$message = $label . PHP_EOL . implode(PHP_EOL, array(
'[status code] ' . $response
->getStatusCode(),
'[reason phrase] ' . $response
->getReasonPhrase(),
'[url] ' . $request
->getUrl(),
'[request] ' . (string) $request,
'[response] ' . (string) $response,
));
$e = new $class($message);
$e
->setResponse($response);
$e
->setRequest($request);
return $e;
}
/**
* Set the response that caused the exception
*
* @param Response $response Response to set
*/
public function setResponse(Response $response) {
$this->response = $response;
}
/**
* Get the response that caused the exception
*
* @return Response
*/
public function getResponse() {
return $this->response;
}
}
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
BadResponseException:: |
private | property | ||
BadResponseException:: |
public static | function | Factory method to create a new response exception based on the response code. | |
BadResponseException:: |
public | function | Get the response that caused the exception | |
BadResponseException:: |
public | function | Set the response that caused the exception | |
RequestException:: |
protected | property | ||
RequestException:: |
public | function | Get the request that caused the exception | |
RequestException:: |
public | function | Set the request that caused the exception |