我正在尝试使用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
吗?或者我做错了什么?