/**
  * 
  * @param \Guzzle\Http\Exception\ClientErrorResponseException $e
  * @throws Exception\NotFoundException
  * @throws \Guzzle\Http\Exception\ClientErrorResponseException
  */
 protected function handleResponseException(ClientErrorResponseException $e)
 {
     switch ($e->getResponse()->getStatusCode()) {
         case 400:
             throw new Exception\InvalidRequestException('Invalid request', 400, $e);
         case 403:
             throw new Exception\PermissionDeniedException('Permission denied', 403, $e);
         case 404:
             throw new Exception\NotFoundException('Item does not exist', 404, $e);
         default:
             throw $e;
     }
 }
Ejemplo n.º 2
0
 /**
  * @param $e
  * @return bool
  */
 public function handleException(\Guzzle\Http\Exception\ClientErrorResponseException $e)
 {
     $response = $e->getResponse();
     $this->errorQueue->enqueue($response->getBody(true));
     return false;
 }
Ejemplo n.º 3
0
 private function processClientError(ClientErrorResponseException $e)
 {
     $statusCode = $e->getResponse()->getStatusCode();
     $reasonPhrase = $e->getResponse()->getReasonPhrase();
     $error = null;
     $message = sprintf('Your request in not valid (status code: "%d", reason phrase: "%s").', $statusCode, $reasonPhrase);
     if (400 == $statusCode) {
         $error = $this->parser->parseError((string) $e->getResponse()->getBody());
         $message .= 'See $error attached to the exception';
     }
     throw new ApiClientException($message, $error, 0, $e);
 }
 /**
  * @param ClientErrorResponseException $e
  */
 protected function handleNotFoundException(ClientErrorResponseException $e)
 {
     if ($e->getResponse()->getStatusCode() !== 404) {
         throw $e;
     }
 }
 /**
  * @param \Guzzle\Http\Exception\ClientErrorResponseException $exception
  * @throws \Searchperience\Common\Http\Exception\InternalServerErrorException
  * @throws \Searchperience\Common\Http\Exception\ForbiddenException
  * @throws \Searchperience\Common\Http\Exception\ClientErrorResponseException
  * @throws \Searchperience\Common\Http\Exception\DocumentNotFoundException
  * @throws \Searchperience\Common\Http\Exception\UnauthorizedException
  * @throws \Searchperience\Common\Http\Exception\MethodNotAllowedException
  * @throws \Searchperience\Common\Http\Exception\RequestEntityTooLargeException
  * @return void
  */
 protected function transformStatusCodeToClientErrorResponseException(\Guzzle\Http\Exception\ClientErrorResponseException $exception)
 {
     switch ($exception->getResponse()->getStatusCode()) {
         case 401:
             $e = new \Searchperience\Common\Http\Exception\UnauthorizedException($exception->getMessage(), 1353574907, $exception);
             $e->setResponse($exception->getResponse());
             throw $e;
             break;
         case 403:
             $e = new \Searchperience\Common\Http\Exception\ForbiddenException($exception->getMessage(), 1353574915, $exception);
             $e->setResponse($exception->getResponse());
             throw $e;
             break;
         case 404:
             $e = new \Searchperience\Common\Http\Exception\EntityNotFoundException($exception->getMessage(), 1353574919, $exception);
             $e->setResponse($exception->getResponse());
             throw $e;
             break;
         case 405:
             $e = new \Searchperience\Common\Http\Exception\MethodNotAllowedException($exception->getMessage(), 1353574923, $exception);
             $e->setResponse($exception->getResponse());
             throw $e;
             break;
         case 413:
             $e = new \Searchperience\Common\Http\Exception\RequestEntityTooLargeException($exception->getMessage(), 1353574956, $exception);
             $e->setResponse($exception->getResponse());
             throw $e;
             break;
         default:
             $e = new \Searchperience\Common\Http\Exception\ClientErrorResponseException($exception->getMessage(), 1353574962, $exception);
             $e->setResponse($exception->getResponse());
             throw $e;
     }
 }