2010-06-22 4 views
1

Я пытаюсь отправить потоковый ответ в приложении Rails, в частности, используя тип содержимого multipart/x-mixed-replace. Насколько я могу судить, потоковые ответы не поддерживаются Rails, поскольку контейнер пытается буферизировать и определять длину тела ответа перед отправкой чего-либо клиенту.Потоковый ответ в Rails/Mongrel

Кстати, мы развертываем наше приложение Rails с Mongrel, и оно похоже на custom Mongrel handlers can stream data fine and even play nice with Rails apps. Мне удалось создать настраиваемый обработчик, но я не могу понять, как заставить его работать вместе с Rails-приложением.

Например, я хотел бы получить все запросы к URI /foo.*, чтобы перейти к пользовательскому обработчику и всем остальным, которые будут обрабатываться Rails. Может ли кто-нибудь посоветовать, как это сделать? Я не могу воспроизвести результаты из связанной статьи выше. Или есть более простой способ получить обработчик Rails для создания открытого потока потокового ответа?

ответ

0

Преступник был поддельным беспородных установить на OS X. Надлежащая Установка работает нормально, используя руководство от linked article, используя простой обработчик, как показано ниже:

# 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