我正在尝试为一个使用node.js编写的应用程序实现一个简单的HTTP端点。我已经创建了HTTP服务器,但现在我卡在读取请求内容主体上:
http.createServer(function(r, s) {
console.log(r.method, r.url, r.headers);
console.log(r.read());
s.write("OK");
s.end();
}).listen(42646);
请求的方法、URL和头部信息都已经正确输出,但是r.read()
始终为空。我可以确定这不是请求发送的问题,因为服务器端的content-length
头部信息大于零。
文档说明 r
是一个实现了可读流接口的http.IncomingMessage
对象,那么为什么它没有起作用呢?
r.on("data",function(chunk))
,在那里你可以直接处理读取的数据。与readable
相比,data
信号表明从流中已经读取了某些内容,而不是可以读取某些内容。这也是io的首选方式。 - ikrabbe