diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2012-07-29 19:51:21 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2012-07-29 21:43:06 -0700 |
commit | b3d1f5b630debcc2d0572a3e3af1855ef93300c2 (patch) | |
tree | 617008a41b3c71935856fb954931cde2992eb199 | |
parent | 619e7c8db8b2339eae8f1f51eb2c1173808039cd (diff) | |
download | rails-b3d1f5b630debcc2d0572a3e3af1855ef93300c2.tar.gz rails-b3d1f5b630debcc2d0572a3e3af1855ef93300c2.tar.bz2 rails-b3d1f5b630debcc2d0572a3e3af1855ef93300c2.zip |
freeze the header object
-rw-r--r-- | actionpack/lib/action_controller/metal/live.rb | 5 | ||||
-rw-r--r-- | actionpack/test/dispatch/live_response_test.rb | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/actionpack/lib/action_controller/metal/live.rb b/actionpack/lib/action_controller/metal/live.rb index d1734f2138..3c1325cdb4 100644 --- a/actionpack/lib/action_controller/metal/live.rb +++ b/actionpack/lib/action_controller/metal/live.rb @@ -78,6 +78,11 @@ module ActionController # :nodoc: super(status, header, body) end + def commit! + headers.freeze + super + end + private def build_buffer(response, body) diff --git a/actionpack/test/dispatch/live_response_test.rb b/actionpack/test/dispatch/live_response_test.rb index d17d516a0b..87a6b1383d 100644 --- a/actionpack/test/dispatch/live_response_test.rb +++ b/actionpack/test/dispatch/live_response_test.rb @@ -44,6 +44,7 @@ module ActionController def test_headers_cannot_be_written_after_write @response.stream.write 'omg' + assert @response.headers.frozen? e = assert_raises(ActionDispatch::IllegalStateError) do @response.headers['Content-Length'] = "zomg" end @@ -54,6 +55,7 @@ module ActionController def test_headers_cannot_be_written_after_close @response.stream.close + assert @response.headers.frozen? e = assert_raises(ActionDispatch::IllegalStateError) do @response.headers['Content-Length'] = "zomg" end |