title: How to use request or http module to read gzip page into a string
body: <p>I found the request module in js cannot handle gzip or inflate format http response correctly.</p>
  
  <p>for example:</p>
  
  <pre><code>request({url:'some url'}, function (error, response, body) {
     //if the content-encoding is gzip, the body param here contains binaries other than readable string. And even worse after you convert the body to buffer, u even can not gunzip it.
  }
  </code></pre>
  
  <p>so I want to use the sample code in official docs.</p>
  
  <pre><code>var request = http.get({ host: 'izs.me',
                           path: '/',
                           port: 80,
                           headers: { 'accept-encoding': 'gzip,deflate' } });
  request.on('response', function(response) {
    var output = fs.createWriteStream('izs.me_index.html');
  
    switch (response.headers['content-encoding']) {
      // or, just use zlib.createUnzip() to handle both cases
      case 'gzip':
        response.pipe(zlib.createGunzip()).pipe(output);
        break;
      case 'deflate':
        response.pipe(zlib.createInflate()).pipe(output);
        break;
      default:
        response.pipe(output);
        break;
    }
  });
  </code></pre>
  
  <p>The problem is that the code is writing the webpage into a file, I hope it can write the page into a string, so that i can process the page. I could not find any class like 'StringStream'. </p>
  
  <p>If anyone has any idea on this,it will be great.</p>