/**
  * {@inheritdoc}
  */
 protected function handle(ResponseInterface $response)
 {
     $httpException = new HttpException($response->getStatusCode(), $response->getStatusText());
     // Not 422 contains information about API Error
     if ($response->getStatusCode() == 422) {
         $error = json_decode($response->getContent());
         throw new ApiException(isset($error->Message) ? $error->Message : 'Unprocessable Entity', $httpException);
     }
     throw $httpException;
 }
 /**
  * {@inheritdoc}
  */
 protected function handle(ResponseInterface $response)
 {
     $httpException = new HttpException($response->getStatusCode(), $response->getStatusText());
     // 4xx will containt error information in the body encoded as JSON
     if (!in_array($response->getStatusCode(), range(400, 417))) {
         throw $httpException;
     }
     $error = json_decode($response->getContent());
     throw new ApiException(implode(', ', (array) $error->errors), $httpException);
 }
 /**
  * {@inheritdoc}
  *
  * "You can consider any non-200 HTTP response code an error - the returned data will contain more detailed information"
  */
 protected function handle(ResponseInterface $response)
 {
     $httpException = new HttpException($response->getStatusCode(), $response->getStatusText());
     $error = json_decode($response->getContent());
     throw new ApiException($error->message, $httpException, $error->code);
 }
 /**
  * {@inheritdoc}
  */
 protected function handle(ResponseInterface $response)
 {
     throw new HttpException($response->getStatusCode(), $response->getStatusText());
 }