使用transfer-encoding处理响应:gzip,chunked

时间:2014-10-17 18:52:38

标签: node.js gzip chunked

我正在尝试使用transfer-encoding: gzip, chunked处理响应。

如果您运行下面的代码(例如node server.js),您应该在控制台中获得“foobar”,但过程似乎是悬而未决。

var HTTP    = require('http');
var request = require('request');
var ZLib    = require('zlib');

var server = HTTP.createServer();
server.on('request', function(req, res) {
  res.setHeader('transfer-encoding', 'gzip, chunked');
  ZLib.gzip('foo', function(error, buffer) {
    res.write(buffer);
    ZLib.gzip('bar', function(error, buffer2) {
      res.write(buffer2);
      res.end();
    });
  });
});
server.listen(3001);

request({
  gzip: true,
  url: 'http://localhost:3001'
}, function(error, response, body) {
  if (error) console.error(error);
  console.log(body);
});

我使用curl localhost:3001检查了代码,并按预期响应“foobar”。节点可以处理transfer-encoding: gzip, chunked吗?或者我做错了什么?

0 个答案:

没有答案