我正在 Sinatra 中重写一个小型服务器后端,目前客户端通过 cURL 调用(例如echo "foo" | curl -X PUT -T - http://localhost:8090/. 问题是,在我put在 Sinatra 中的方法中request.body.read,即使在我调用它之后,它也始终是空rewind的。此外,params哈希是完全空的。
奇怪的是,如果我这样做curl -X PUT -d 'foo' http://localhost:8090/,它会起作用。request.on('data')此外,在 node.js 中,我可以使用andrequest.on('end')函数很好地阅读它。
有没有办法PUT在 Sinatra 中读取身体?如果可能的话,我想避免更改客户端代码。