假设我有一条 Sinatra 路线:
put '/data' do
request.body.read
# ...
end
似乎整个 request.body 被读入内存。有没有办法在身体进入系统时消耗身体,而不是事先将其全部缓冲在 Rack/Sinatra 中?
我知道我可以这样做以部分读取身体,但整个身体似乎仍然事先被读入内存。
put '/data' do
while request.body.read(1024) != nil
# ...
end
# ...
end