Ruby Sinatra文件流化的内容长度
我试图在将文件流式输出到客户端之前设置内容长度头。我将其设置为:Ruby Sinatra文件流化的内容长度,ruby,apache,sinatra,passenger,Ruby,Apache,Sinatra,Passenger,我试图在将文件流式输出到客户端之前设置内容长度头。我将其设置为: response.headers['Content-Length'] = "12341234" 然后我做了一些类似的事情: steam do |out| file_chunks.each do |chunk| out << chunk end out.close end steam do | out| 文件块。每个do块| out这是一个Sinatra问题。其流API仅支持基于Event
response.headers['Content-Length'] = "12341234"
然后我做了一些类似的事情:
steam do |out|
file_chunks.each do |chunk|
out << chunk
end
out.close
end
steam do | out|
文件块。每个do块|
out这是一个Sinatra问题。其流API仅支持基于EventMachine的服务器。换句话说,API只支持精简。使用Passenger时,您应该绕过Sinatra stream API,并且应该使用直接流式传输HTTP响应,这是Phusion Passenger支持的。这演示了如何使用机架套接字劫持API在Phusion Passenger上传输服务器发送的事件。这是Sinatra的问题。其流API仅支持基于EventMachine的服务器。换句话说,API只支持精简。使用Passenger时,您应该绕过Sinatra stream API,并且应该使用直接流式传输HTTP响应,这是Phusion Passenger支持的。这演示了如何使用机架套接字劫持API在Phusion Passenger上传输服务器发送的事件。这里的问题是,在使用传输编码:chunked时,忽略了内容长度标题
请参阅:这里的问题是,在使用传输编码:chunked时,将省略内容长度标题
请参阅:您不应该使用request['content-length']
设置它吗。响应是您从请求中得到的结果。您不应该将其设置为request['content-length']
。响应是您从请求中得到的结果。