/** * @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; }
/** * It connects to the url and give response. * * @param PrestashopRestClientParameters $clientParameters * * @return \Guzzle\Http\Message\Response * * @throws \Exception */ protected function connect($clientParameters) { $parametersHash = $clientParameters->getHash(); if (!isset($this->resultCache[$parametersHash])) { $guzzleParams = ['connect_timeout' => self::CONNECT_TIMEOUT, 'timeout' => self::TIMEOUT, 'auth' => [$clientParameters->getHttpLogin(), $clientParameters->getHttpPassword()]]; $request = $this->client->get($clientParameters->getPrestashopUrl(), [], $guzzleParams); $request->getCurlOptions()->set(CURLOPT_CONNECTTIMEOUT, self::CONNECT_TIMEOUT); $request->getCurlOptions()->set(CURLOPT_TIMEOUT, self::TIMEOUT); try { $response = $this->client->send($request); $this->resultCache[$parametersHash] = $response; } catch (\Exception $e) { $this->resultCache[$parametersHash] = $e; throw $e; } } else { $response = $this->resultCache[$parametersHash]; if ($response instanceof \Exception) { throw $response; } } return $response; }