使用小号改变流,如何在http.Response中获取内容长度标题?

时间:2013-12-02 15:50:00

标签: node.js stream

我有一个nodejs http服务器正在运行,我想改变特定网站上的内容(我自己的私人广告拦截器的种类)。 我决定用trumpet做到这一点。现在的问题是,当小号注入新内容并将其传递给http响应(http.IncomingMessage)时,header ['content-length']值不再有效。

有些浏览器似乎并不关心(W7上的Chrome / Firefox),其他浏览器立即崩溃(iPad上的Safari)。我尝试完全删除内容长度标题,结果相似(Safari永远等待)。

如何在切换内容后设置响应的内容长度?我找到了harmon,但我只需要最后一点,所以我觉得和谐太多了。或者这不是那么微不足道吗?

1 个答案:

答案 0 :(得分:1)

如果您不知道发送标题时的响应有多大(此处为大小写),则需要使用chunked transfer encoding

如果您未指定任何Content-Length

节点应默认为分块传输编码。删除设置Content-Length标题的代码或尝试res.removeHeader('Content-Length')