. * * @author Spencer Mortensen * @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL-3.0 * @copyright 2015 Datto, Inc. */ namespace Datto\JsonRpc\Http\Exceptions; use Datto\JsonRpc\Http\HttpResponse; use Exception; class HttpException extends Exception { /** @var HttpResponse */ private $response; public function __construct(HttpResponse $response) { $status = $this->getStatus($response); parent::__construct($status); $this->response = $response; } public function getResponse(): HttpResponse { return $this->response; } private function getStatus(HttpResponse $response) { $code = $response->getCode(); $message = $response->getMessage(); if (strlen($message) === 0) { return $code; } return "{$code} {$message}"; } }