diff --git a/actionpack/lib/action_controller/metal/live.rb b/actionpack/lib/action_controller/metal/live.rb index e98ad7e2a695b01e3a0268242d2348c22a127ffd..d1734f21382d1bab3d8e38155acedee9019d990e 100644 --- a/actionpack/lib/action_controller/metal/live.rb +++ b/actionpack/lib/action_controller/metal/live.rb @@ -111,5 +111,14 @@ def process(name) @_response.await_commit end + + def set_response!(request) + if request.env["HTTP_VERSION"] == "HTTP/1.0" + super + else + @_response = Live::Response.new + @_response.request = request + end + end end end diff --git a/actionpack/test/controller/live_stream_test.rb b/actionpack/test/controller/live_stream_test.rb index 5bb37a271d308e3dd7521493da4083916de23dce..e5fb50fca43d7cdc82f0efcba66c7d6d7f6c9d6c 100644 --- a/actionpack/test/controller/live_stream_test.rb +++ b/actionpack/test/controller/live_stream_test.rb @@ -53,6 +53,12 @@ def build_response TestResponse.new end + def test_set_response! + @controller.set_response!(@request) + assert_kind_of(Live::Response, @controller.response) + assert_equal @request, @controller.response.request + end + def test_write_to_stream @controller = TestController.new get :basic_stream