code: function responseToBuffer(clientResponse, callback) {
      var buffer = { 
          url: clientResponse.url,
          method: clientResponse.method,
          statusCode: clientResponse.statusCode,
          headers: { },
          data: [ ]
      };
      Object.keys(clientResponse.headers).forEach(function (k) {
          buffer.headers[k] = clientResponse.headers[k];
      });
      clientResponse.on('data', function (chunk) {
          buffer.data.push(chunk);
          // @TODO If data gets too big, callback(null)
      });
      clientResponse.on('end', function () {
          // @TODO Dispose of clientResponse and remove listeners?
          callback(buffer);
      });
      clientResponse.on('close', function () {
          // @TODO Dispose of clientResponse and remove listeners?
          callback(null);
      });
  }
docs: clientResponse can be a ServerResponse or a ClientResponse (?)