当客户端不在标头中发送内容长度时,rails v6 如何填充 Request 的内容长度?



长话短说,我正在使用node-fetch将文件上传到Rails服务器。
文件来自fs.createReadStream= ReadStream.

https://github.com/node-fetch/node-fetch

注意:当body为流时,不自动设置Content-Length

正如自述文件中所说,当它是一个流时,请求的内容长度不会由node-fetch设置。

  • 当使用Rails v6接收数据时,它以某种方式设置请求的内容长度,即使客户端没有发送长度。
  • 当使用Rails v5接收相同的数据时,它不会设置内容长度

我正在尝试用他们在v6中所做的猴子补丁v5。
有人知道v6是怎么做到的吗?

其实是美洲狮…https://github.com/puma/puma/pull/2287

已在v4.3.7及以后版本修复。
https://github.com/puma/puma/blob/master/History.md 437 - 2020-11-30