зеркало из https://github.com/github/ruby.git
Delay Utils.getservername until needed.
There is no need to call Utils.getservername when the :ServerName option is specified, so delay Utils.getservername until needed to avoid unnecessary DNS lookups. [ruby-core:78492] [Bug #13007] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
8d879ca305
Коммит
03ec739729
|
@ -20,8 +20,14 @@ module WEBrick
|
|||
LIBDIR = File::dirname(__FILE__) # :nodoc:
|
||||
|
||||
# for GenericServer
|
||||
General = {
|
||||
:ServerName => Utils::getservername,
|
||||
General = Hash.new { |hash, key|
|
||||
case key
|
||||
when :ServerName
|
||||
hash[key] = Utils.getservername
|
||||
else
|
||||
nil
|
||||
end
|
||||
}.update(
|
||||
:BindAddress => nil, # "0.0.0.0" or "::" or nil
|
||||
:Port => nil, # users MUST specify this!!
|
||||
:MaxClients => 100, # maximum number of the concurrent connections
|
||||
|
@ -36,7 +42,7 @@ module WEBrick
|
|||
:AcceptCallback => nil,
|
||||
:DoNotReverseLookup => true,
|
||||
:ShutdownSocketWithoutClose => false,
|
||||
}
|
||||
)
|
||||
|
||||
# for HTTPServer, HTTPRequest, HTTPResponse ...
|
||||
HTTP = General.dup.update(
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
# frozen_string_literal: false
|
||||
require "test/unit"
|
||||
require "webrick/config"
|
||||
|
||||
class TestWEBrickConfig < Test::Unit::TestCase
|
||||
def test_server_name_default
|
||||
config = WEBrick::Config::General.dup
|
||||
assert_equal(false, config.key?(:ServerName))
|
||||
assert_equal(WEBrick::Utils.getservername, config[:ServerName])
|
||||
assert_equal(true, config.key?(:ServerName))
|
||||
end
|
||||
|
||||
def test_server_name_set_nil
|
||||
config = WEBrick::Config::General.dup.update(ServerName: nil)
|
||||
assert_equal(nil, config[:ServerName])
|
||||
end
|
||||
end
|
Загрузка…
Ссылка в новой задаче