示例#1
1
 /**
  * Creates a guzzle service client
  * @return \Guzzle\Http\Client the guzzle client
  */
 protected function createGuzzle()
 {
     $guzzle = new \Guzzle\Http\Client();
     $connectionConfig = $this->getClient()->getConnectionConfig();
     $guzzle->setBaseUrl('http://' . $connectionConfig['host'] . ':1' . $connectionConfig['port'] . '/');
     $authPlugin = new CurlAuthPlugin($connectionConfig['user'], $connectionConfig['password']);
     $guzzle->addSubscriber($authPlugin);
     return $guzzle;
 }
 /**
  * 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;
 }