/** * @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; }