かわじ、です。
すみません、
> + :ServerAlias => [], # for Name-based Virtual Host.
って、デフォルトが Array である必要はなかったので、修正します。
Index: lib/webrick/config.rb
===================================================================
RCS file: /src/ruby/lib/webrick/config.rb,v
retrieving revision 1.2
diff -u -r1.2 config.rb
--- lib/webrick/config.rb 8 Sep 2003 09:52:33 -0000 1.2
+++ lib/webrick/config.rb 28 Jan 2004 11:37:50 -0000
@@ -37,6 +37,7 @@
# for HTTPServer, HTTPRequest, HTTPResponse ...
HTTP = General.dup.update(
+ :ServerAlias => nil, # nil or array of string/regexp
:Port => 80,
:RequestTimeout => 30,
:HTTPVersion => HTTPVersion.new("1.1"),
Index: lib/webrick/httpserver.rb
===================================================================
RCS file: /src/ruby/lib/webrick/httpserver.rb,v
retrieving revision 1.6
diff -u -r1.6 httpserver.rb
--- lib/webrick/httpserver.rb 24 Jan 2004 16:48:52 -0000 1.6
+++ lib/webrick/httpserver.rb 28 Jan 2004 11:37:50 -0000
@@ -133,7 +133,10 @@
@virtual_hosts.find{|server|
(server[:Port].nil? || req.port == server[:Port]) &&
(server[:BindAddress].nil? || req.addr[3] == server[:BindAddress]) &&
- (server[:ServerName].nil? || req.host == server[:ServerName])
+ (
+ (server[:ServerName].nil? || req.host == server[:ServerName]) ||
+ (server[:ServerAlias].nil? || server[:ServerAlias].find{|h| h === req.host })
+ )
}
end