mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* 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
This commit is contained in:
parent
6ef323d6f8
commit
0cbec6027c
3 changed files with 26 additions and 16 deletions
|
@ -1,3 +1,10 @@
|
|||
Tue Dec 13 07:30:14 2011 Aaron Patterson <aaron@tenderlovemaking.com>
|
||||
|
||||
* 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 <aaron@tenderlovemaking.com>
|
||||
|
||||
* lib/webrick/httpresponse.rb (setup_header): 204 and 304 responses
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -15,29 +15,32 @@ module WEBrick
|
|||
end
|
||||
end
|
||||
|
||||
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
|
||||
|
||||
def test_304_does_not_log_warning
|
||||
logger = FakeLogger.new
|
||||
config = Config::HTTP
|
||||
config[:Logger] = logger
|
||||
|
||||
res = HTTPResponse.new config
|
||||
res.status = 304
|
||||
res.keep_alive = true
|
||||
res.setup_header
|
||||
assert_equal 0, logger.messages.length
|
||||
end
|
||||
|
||||
def test_204_does_not_log_warning
|
||||
res.status = 204
|
||||
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
|
||||
|
||||
def test_1xx_does_not_log_warnings
|
||||
res.status = 105
|
||||
res.setup_header
|
||||
|
||||
assert_equal 0, logger.messages.length
|
||||
|
|
Loading…
Add table
Reference in a new issue