public static function create(\GuzzleHttp\Exception\ClientException $e) { $message = sprintf('Request could not be processed (%s %s): %s on %s', $e->getResponse()->getStatusCode(), $e->getResponse()->getReasonPhrase(), $e->getMessage(), $e->getRequest()->getUri()); return new self($message, $e->getResponse()->getStatusCode(), $e); }
/** * @param ClientException $e * * @return RequestException */ private function getCustomException(ClientException $e) { switch ($e->getCode()) { case 400: return new WadifyBadRequestException($e->getMessage(), $e->getRequest(), $e->getResponse()); case 401: return new WadifyAuthenticationException($e->getMessage(), $e->getRequest(), $e->getResponse()); case 403: return new WadifyAuthorizationException($e->getMessage(), $e->getRequest(), $e->getResponse()); default: return $e; } }
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; }