Esempio n. 1
0
 /**
  * Populates a response object.
  *
  * @param resource         $curl     A cURL resource
  * @param string           $raw      The raw response string
  * @param MessageInterface $response The response object
  */
 protected static function populateResponse($curl, $raw, MessageInterface $response)
 {
     $curlResourceId = static::getResourceId($curl);
     $headers = self::$wipHeaders[$curlResourceId];
     $response->setHeaders($headers->getLastRedirectionDataList());
     $response->setContent(strlen($raw) > $headers->getSize() ? substr($raw, $headers->getSize()) : '');
 }
Esempio n. 2
0
 /**
  * @see ClientInterface
  */
 public function send(RequestInterface $request, MessageInterface $response)
 {
     if (!($queued = $this->receiveFromQueue())) {
         throw new \LogicException('There are no queued responses.');
     }
     $response->setHeaders($queued->getHeaders());
     $response->setContent($queued->getContent());
 }
Esempio n. 3
0
 public function send(RequestInterface $request, MessageInterface $response)
 {
     $result = $this->callWithFixtures('send', func_get_args(), $resultArguments);
     /** @var MessageInterface $resultResponse */
     $resultResponse = $resultArguments[1];
     $response->setHeaders($resultResponse->getHeaders());
     $response->setContent($resultResponse->getContent());
     return $result;
 }
 /**
  * Populates a response object.
  *
  * @param resource         $curl     A cURL resource
  * @param string           $raw      The raw response string
  * @param MessageInterface $response The response object
  */
 protected static function populateResponse($curl, $raw, MessageInterface $response)
 {
     // fixes bug https://sourceforge.net/p/curl/bugs/1204/
     $version = curl_version();
     if (version_compare($version['version'], '7.30.0', '<')) {
         $pos = strlen($raw) - curl_getinfo($curl, CURLINFO_SIZE_DOWNLOAD);
     } else {
         $pos = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
     }
     $response->setHeaders(static::getLastHeaders(rtrim(substr($raw, 0, $pos))));
     $response->setContent(strlen($raw) > $pos ? substr($raw, $pos) : '');
 }
 /**
  * Populates the supplied response with the response for the supplied request.
  *
  * @param RequestInterface $request  A request object
  * @param MessageInterface $response A response object
  */
 public function send(RequestInterface $request, MessageInterface $response)
 {
     $cacheKey = $this->generateCacheKeyForRequest($request);
     if ($this->cache->contains($cacheKey)) {
         $this->hits++;
         $cachedResponse = unserialize($this->cache->fetch($cacheKey));
         /* @var $cachedResponse \Buzz\Message\Response */
         $response->setContent($cachedResponse->getContent());
         $response->setHeaders($cachedResponse->getHeaders());
         return;
     }
     $this->misses++;
     $this->client->send($request, $response);
     $this->cache->save($cacheKey, serialize($response), $this->lifetime);
 }
 /**
  * @see ClientInterface
  *
  * @throws ClientException If file_get_contents() fires an error
  */
 public function send(RequestInterface $request, MessageInterface $response)
 {
     $context = stream_context_create($this->getStreamContextArray($request));
     $url = $request->getHost() . $request->getResource();
     $level = error_reporting(0);
     $content = file_get_contents($url, 0, $context);
     error_reporting($level);
     if (false === $content) {
         $error = error_get_last();
         $e = new RequestException($error['message']);
         $e->setRequest($request);
         throw $e;
     }
     $response->setHeaders($this->filterHeaders((array) $http_response_header));
     $response->setContent($content);
 }
Esempio n. 7
0
 /**
  * @see ClientInterface
  *
  * @throws RuntimeException If file_get_contents() fires an error
  */
 public function send(RequestInterface $request, MessageInterface $response)
 {
     if ($cookieJar = $this->getCookieJar()) {
         $cookieJar->clearExpiredCookies();
         $cookieJar->addCookieHeaders($request);
     }
     $context = stream_context_create($this->getStreamContextArray($request));
     $url = $request->getHost() . $request->getResource();
     $level = error_reporting(0);
     $content = file_get_contents($url, 0, $context);
     error_reporting($level);
     if (false === $content) {
         $error = error_get_last();
         throw new \RuntimeException($error['message']);
     }
     $response->setHeaders($this->filterHeaders((array) $http_response_header));
     $response->setContent($content);
     if ($cookieJar) {
         $cookieJar->processSetCookieHeaders($request, $response);
     }
 }
Esempio n. 8
0
 /**
  * Populates a response object.
  *
  * @param resource         $curl     A cURL resource
  * @param string           $raw      The raw response string
  * @param MessageInterface $response The response object
  */
 protected static function populateResponse($curl, $raw, MessageInterface $response)
 {
     list($header, $body) = preg_split("/\\R\\R/", $raw, 2);
     $response->setHeaders(static::getLastHeaders(rtrim($header)));
     $response->setContent($body);
 }
Esempio n. 9
0
 /**
  * Populates a response object.
  *
  * @param resource         $curl     A cURL resource
  * @param string           $raw      The raw response string
  * @param MessageInterface $response The response object
  */
 protected static function populateResponse($curl, $raw, MessageInterface $response)
 {
     $pos = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
     $response->setHeaders(static::getLastHeaders(rtrim(substr($raw, 0, $pos))));
     $response->setContent(substr($raw, $pos));
 }
 protected static function populateResponse($curl, $raw, MessageInterface $response)
 {
     $pos = explode("\r\n\r\n", $raw);
     $response->setContent(array_pop($pos));
     $response->setHeaders(static::getLastHeaders(array_pop($pos)));
 }