public function handleClientException(ClientException $e, $data = []) { $contents = json_decode($e->getResponse()->getBody()->getContents()); $exception = new RemoteException($e->getMessage()); $exception->data = $data; $exception->headers = $e->getRequest()->getHeaders(); $exception->setErrorCode(isset($contents->errors) ? $contents->errors[0]->code : null); $exception->setError(isset($contents->errors) ? $contents->errors[0]->description : ''); throw $exception; }