1

我正在尝试在 Rails 应用程序中发送流响应,特别是使用multipart/x-mixed-replace内容类型。据我所知,Rails 不支持流式响应,因为容器会在向客户端发送任何内容之前尝试缓冲并确定响应正文的长度。

顺便说一句,我们正在使用 Mongrel 部署我们的 Rails 应用程序,看起来自定义的 Mongrel 处理程序可以很好地流式传输数据,甚至可以很好地与 Rails 应用程序配合使用。我已经能够创建一个自定义处理程序,但我不知道如何让它与 Rails 应用程序一起工作。

例如,我希望对 URI 的所有请求都/foo.*转到自定义处理程序,而所有其他请求都由 Rails 处理。有人可以建议如何做到这一点吗?我似乎无法复制上面链接文章的结果。或者有没有更简单的方法让 Rails 处理程序产生开放式的流式响应?

4

1 回答 1

0

罪魁祸首是在 OS X 上安装了一个虚假的杂种。使用链接文章中的指导,使用如下简单的处理程序,正确安装可以正常工作:

# foo_handler.rb
class FooHandler < Mongrel::HttpHandler
  # def process(req, res); streaming_impl; end 
end
# Usage: mongrel_handler start -S foo_handler.rb
uri "/foo", :handler => FooHandler.new
于 2010-06-23T04:47:10.343 回答