/**
  * @param HTTPApiClientException $e
  * @param Response               $response
  * @param ClientRequest          $clientRequest
  * @throws HTTPApiClientException
  */
 protected function throwException(HTTPApiClientException $e, Response $response, ClientRequest $clientRequest)
 {
     $e->setExceptionMetaData('status_code', $response->getStatusCode());
     $e->setExceptionMetaData('content', $response->getContent());
     $e->setExceptionMetaData('header', $response->headers);
     $e->setExceptionMetaData('request', $clientRequest->toArray());
     throw $e;
 }
 /**
  * @param HTTPApiClient $apiClient
  * @param Response      $response
  * @param ClientRequest $clientRequest
  * @return Response
  * @throws MQSEmptyMessageException
  * @throws MQSResponseException
  */
 public function handle(HTTPApiClient $apiClient, Response $response, ClientRequest $clientRequest)
 {
     if ((int) $response->getStatusCode() >= 400) {
         if ((int) $response->getStatusCode() == 404) {
             //404 有可能是 Message not exist. 或者是 The queue name you provided is not exist.
             if (strpos($response->getContent(), 'Message not exist.')) {
                 throw new MQSEmptyMessageException();
             }
         }
         $e = new MQSResponseException("MQS返回状态码:" . $response->getStatusCode());
         $e->setExceptionMetaData('content', $response->getContent());
         $e->setExceptionMetaData('header', $response->headers);
         $e->setExceptionMetaData('request', $clientRequest->toArray());
         throw $e;
     }
     return $response;
 }