/** * Sends a request and returns a response * * @param CartRecover_Request $request * @return Cart_Recover_Response */ public function sendRequest(CartRecover_Request $request) { $url = Guzzle\Http\Url::factory($request->getUri()); $url->setQuery($request->getParams()); $this->client->setBaseUrl($url); $grequest = $this->client->createRequest($request->getMethod(), $url); $grequest->addHeader('Accept', 'application/json'); $this->response = $this->client->send($grequest); if (!$this->response->isContentType('application/json')) { throw new CartRecover_Exception_UnexpectedValueException("Unknown response format."); } $response = new CartRecover_Response(); $response->setRawResponse($this->response->__toString()); $response->setBody($this->response->json()); $response->setHeaders($this->response->getHeaders()->toArray()); $response->setStatus($this->response->getReasonPhrase(), $this->response->getStatusCode()); return $response; }
/** * 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; }