コード例 #1
0
 /**
  * @param HttpRequest $request
  * @return HttpResponse
  */
 public function handleRequest(HttpRequest $request)
 {
     //TODO: Guzzle request
     $guzzleRequest = $this->client->createRequest($request->getMethod(), $request->getUrl(), $request->getHeaders());
     $guzzleRequest->getCurlOptions()->remove(CURLOPT_SSL_VERIFYPEER);
     $guzzleRequest->getCurlOptions()->remove(CURLOPT_CAINFO);
     $guzzleRequest->getCurlOptions()->add(CURLOPT_SSL_VERIFYPEER, 0);
     $guzzleRequest->getCurlOptions()->add(CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
     $guzzleRequest->getCurlOptions()->add(CURLOPT_RETURNTRANSFER, true);
     $guzzleRequest->getCurlOptions()->add(CURLOPT_VERBOSE, 0);
     $guzzleRequest->getCurlOptions()->add(CURLOPT_HEADER, false);
     $guzzleRequest->getCurlOptions()->add(CURLOPT_TIMEOUT, 10);
     //$guzzleRequest = $this->enableCurlOptionProxy($guzzleRequest);
     //TODO: Guzzle response
     $guzzleResponse = $this->client->send($guzzleRequest);
     $response = new HttpResponse($guzzleResponse->getInfo('http_code'), '', array(HttpAdapterInterface::HTTP_HEADER_CONTENT_TYPE => $guzzleResponse->getInfo('content_type')), $guzzleResponse->getBody(true));
     return $response;
 }
コード例 #2
0
 /**
  * @param HttpRequest $request
  * @return mixed
  */
 public function handleRequest(HttpRequest $request)
 {
     $content = $request->getContent();
     if ($request->hasHeader(HttpAdapterInterface::HTTP_HEADER_CONTENT_TYPE) && $request->getHeader(HttpAdapterInterface::HTTP_HEADER_CONTENT_TYPE) == 'application/json') {
         $content = http_build_query(json_decode($content));
     }
     $curl = $this->createCurlCall($request->getUrl(), $request->getHeaders(), $content, $request->getMethod());
     return $this->execute($curl);
 }