Ejemplo n.º 1
0
 /**
  * @param IResponse $Response
  * @param resource $connection
  * @return bool
  */
 protected function getResponseBody(IResponse $Response, $connection)
 {
     if (stripos($Response->getHeader('transfer-encoding'), 'chunked') !== false) {
         $body = $this->getChunkedResponse($connection);
     } else {
         $read_size = intval($Response->getHeader('Content-Length'));
         if ($read_size <= 0) {
             if ($this->Connection->isKeepAlive()) {
                 return '';
             }
             $read_size = -1;
         }
         $body = $this->stream_get_contents($connection, $read_size);
     }
     if ($body === false) {
         $this->Connection->close();
         return false;
     }
     if (!empty($body) && stripos($Response->getHeader('content-encoding'), 'gzip') !== false) {
         $body = $this->getUnzippedBody($body);
     }
     return $body;
 }