1<?php 2 3namespace Sabre\HTTP; 4 5/** 6 * This exception represents a HTTP error coming from the Client. 7 * 8 * By default the Client will not emit these, this has to be explicitly enabled 9 * with the setThrowExceptions method. 10 * 11 * @copyright Copyright (C) fruux GmbH (https://fruux.com/) 12 * @author Evert Pot (http://evertpot.com/) 13 * @license http://sabre.io/license/ Modified BSD License 14 */ 15class ClientHttpException extends \Exception implements HttpException { 16 17 /** 18 * Response object 19 * 20 * @var ResponseInterface 21 */ 22 protected $response; 23 24 /** 25 * Constructor 26 * 27 * @param ResponseInterface $response 28 */ 29 function __construct(ResponseInterface $response) { 30 31 $this->response = $response; 32 parent::__construct($response->getStatusText(), $response->getStatus()); 33 34 } 35 36 /** 37 * The http status code for the error. 38 * 39 * @return int 40 */ 41 function getHttpStatus() { 42 43 return $this->response->getStatus(); 44 45 } 46 47 /** 48 * Returns the full response object. 49 * 50 * @return ResponseInterface 51 */ 52 function getResponse() { 53 54 return $this->response; 55 56 } 57 58} 59