mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
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:
parent
8d879ca305
commit
03ec739729
2 changed files with 26 additions and 3 deletions
|
@ -20,8 +20,14 @@ module WEBrick
|
||||||
LIBDIR = File::dirname(__FILE__) # :nodoc:
|
LIBDIR = File::dirname(__FILE__) # :nodoc:
|
||||||
|
|
||||||
# for GenericServer
|
# for GenericServer
|
||||||
General = {
|
General = Hash.new { |hash, key|
|
||||||
:ServerName => Utils::getservername,
|
case key
|
||||||
|
when :ServerName
|
||||||
|
hash[key] = Utils.getservername
|
||||||
|
else
|
||||||
|
nil
|
||||||
|
end
|
||||||
|
}.update(
|
||||||
:BindAddress => nil, # "0.0.0.0" or "::" or nil
|
:BindAddress => nil, # "0.0.0.0" or "::" or nil
|
||||||
:Port => nil, # users MUST specify this!!
|
:Port => nil, # users MUST specify this!!
|
||||||
:MaxClients => 100, # maximum number of the concurrent connections
|
:MaxClients => 100, # maximum number of the concurrent connections
|
||||||
|
@ -36,7 +42,7 @@ module WEBrick
|
||||||
:AcceptCallback => nil,
|
:AcceptCallback => nil,
|
||||||
:DoNotReverseLookup => true,
|
:DoNotReverseLookup => true,
|
||||||
:ShutdownSocketWithoutClose => false,
|
:ShutdownSocketWithoutClose => false,
|
||||||
}
|
)
|
||||||
|
|
||||||
# for HTTPServer, HTTPRequest, HTTPResponse ...
|
# for HTTPServer, HTTPRequest, HTTPResponse ...
|
||||||
HTTP = General.dup.update(
|
HTTP = General.dup.update(
|
||||||
|
|
17
test/webrick/test_config.rb
Normal file
17
test/webrick/test_config.rb
Normal file
|
@ -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
|
Loading…
Add table
Add a link
Reference in a new issue