/** * Checks ReST response for errors. * * @param Response $response the ReST response * @return void * @throws Exception\RuntimeException * @access protected */ protected static function checkResponse(HttpResponse $response) { if ($response->isServerError() || $response->isClientError()) { throw new Exception\RuntimeException(sprintf('Invalid response status code (HTTP/%s %s %s)', $response->getVersion(), $response->getStatus(), $response->getMessage())); } }
/** * @param Response $response * * @throws Exception\ClientException * * @return mixed */ protected function decodeBody(Response $response) { if ($response->isServerError()) { throw new Exception\ClientException(sprintf("'%s' provider encountered a '%s' error while querying '%s'", $this->getIdentifier(), $response->getReasonPhrase(), $this->uri)); } $body = Json::decode($response->getBody()); if ($response->isClientError()) { throw new Exception\ClientException($body->error->message, $response->getStatusCode()); } return $body; }
private function handleException(Response $resp) { // TODO: test coverage if ($resp->isClientError()) { if ($resp->getStatusCode() === 403) { throw new AuthenticationException($this->apiKey, $this->apiSecret, null); } else { throw new DomainException('The OpenTok API request failed: ' . $resp->getReasonPhrase(), null); } } elseif ($resp->isServerError()) { throw new UnexpectedValueException('The OpenTok API server responded with an error: ' . $resp->getReasonPhrase(), null); } else { throw new Exception('An unexpected error occurred:' . $resp->getReasonPhrase()); } }