예제 #1
0
 /**
  * Sends a request and returns a response
  *
  * @param CartRecover_Request $request
  * @return Cart_Recover_Response
  */
 public function sendRequest(CartRecover_Request $request)
 {
     $this->client->setUri($request->getUri());
     $this->client->setParameterGet($request->getParams());
     $this->client->setMethod($request->getMethod());
     $this->client->setHeaders('Accept', 'application/json');
     $this->response = $this->client->request();
     if ($this->response->getHeader('Content-Type') != 'application/json') {
         throw new CartRecover_Exception_UnexpectedValueException("Unknown response format.");
     }
     $body = json_decode($this->response->getBody(), true);
     $response = new CartRecover_Response();
     $response->setRawResponse($this->response->asString());
     $response->setBody($body);
     $response->setHeaders($this->response->getHeaders());
     $response->setStatus($this->response->getMessage(), $this->response->getStatus());
     return $response;
 }
예제 #2
0
 /**
  * @param Zend_Http_Response $reponse
  */
 protected function _throwResponseErrorException(Zend_Http_Response $response)
 {
     require_once 'Zend/Service/GitHub/Exception.php';
     $exceptionMessage = 'The GitHub API interaction failed. ' . '%s: %s';
     $exceptionMessage = sprintf($exceptionMessage, $response->extractCode($response->asString()), $response->extractMessage($response->asString()));
     throw new Zend_Service_GitHub_Exception($exceptionMessage);
 }