diff options
author | tenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-12-12 22:33:56 +0000 |
---|---|---|
committer | tenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-12-12 22:33:56 +0000 |
commit | 0cbec6027cfb755972f80aab57920008d50fe842 (patch) | |
tree | c72b0e02d4fa4d19c4c774b2deee261c103083fa | |
parent | 6ef323d6f8a4cb768ce8217171487d8932bc7bd8 (diff) |
* lib/webrick/httpresponse.rb (setup_header): 1xx responses
are allowed to have Keep-Alive connections.
* test/webrick/test_httpresponse.rb: corresponding test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | lib/webrick/httpresponse.rb | 2 | ||||
-rw-r--r-- | test/webrick/test_httpresponse.rb | 31 |
3 files changed, 25 insertions, 15 deletions
@@ -1,3 +1,10 @@ +Tue Dec 13 07:30:14 2011 Aaron Patterson <[email protected]> + + * lib/webrick/httpresponse.rb (setup_header): 1xx responses + are allowed to have Keep-Alive connections. + + * test/webrick/test_httpresponse.rb: corresponding test. + Tue Dec 13 07:13:28 2011 Aaron Patterson <[email protected]> * lib/webrick/httpresponse.rb (setup_header): 204 and 304 responses diff --git a/lib/webrick/httpresponse.rb b/lib/webrick/httpresponse.rb index ce72b3f9d6..baa49dea92 100644 --- a/lib/webrick/httpresponse.rb +++ b/lib/webrick/httpresponse.rb @@ -202,7 +202,7 @@ module WEBrick if @header['connection'] == "close" @keep_alive = false elsif keep_alive? - if chunked? || @header['content-length'] || @status == 304 || @status == 204 + if chunked? || @header['content-length'] || @status == 304 || @status == 204 || HTTPStatus.info?(@status) @header['connection'] = "Keep-Alive" else msg = "Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true" diff --git a/test/webrick/test_httpresponse.rb b/test/webrick/test_httpresponse.rb index 3967e2c3e8..d5d5552796 100644 --- a/test/webrick/test_httpresponse.rb +++ b/test/webrick/test_httpresponse.rb @@ -15,29 +15,32 @@ module WEBrick end end - def test_304_does_not_log_warning - logger = FakeLogger.new - config = Config::HTTP - config[:Logger] = logger + attr_reader :config, :logger, :res + + def setup + super + @logger = FakeLogger.new + @config = Config::HTTP + @config[:Logger] = logger + @res = HTTPResponse.new config + @res.keep_alive = true + end - res = HTTPResponse.new config + def test_304_does_not_log_warning res.status = 304 - res.keep_alive = true - res.setup_header - assert_equal 0, logger.messages.length end def test_204_does_not_log_warning - logger = FakeLogger.new - config = Config::HTTP - config[:Logger] = logger - - res = HTTPResponse.new config res.status = 204 - res.keep_alive = true + res.setup_header + + assert_equal 0, logger.messages.length + end + def test_1xx_does_not_log_warnings + res.status = 105 res.setup_header assert_equal 0, logger.messages.length |