在NodeJS中传递给http.IncomingMessage的块的类型是什么

时间:2015-12-11 23:56:04

标签: node.js

如果使用NodeJS的http服务器功能,请求的类型为http.IncomingMessage,实现stream.Readable

Readable发出的数据事件可以包含StringBuffer类型的参数。

对于IncomingMessage,我似乎正在接收数据事件的字符串参数。考虑到HTTP身体数据更好地由Buffer表示,我不清楚为什么。但是,文档没有说明论证的类型。

当读者可能会发出String个参数时,参数的类型总是Buffer,还是有条件(包括我可以从程序端控制的那些条件)?

1 个答案:

答案 0 :(得分:1)

http.IncomingMessage)流没有默认编码,因此您将获得Buffer个对象而不是字符串。如果你打电话给.setEncoding(),那么获取你指定的任何类型的字符串。

如果您使用字符串缓冲数据,那么您当然会看到附加“字符串数据”,因为当您连接{{1}时隐式调用buffer.toString()你的字符串缓冲区变量。例如:

Buffer