From: Kouhei Sutou Date: 2005-05-26T19:37:59+09:00 Subject: [ruby-dev:26235] WEBrick::CGI::Socket#request_line and ENV["REQUEST_URI"] 須藤です. 現在のWEBrick::CGIではCGIがディレクトリインデックスでアクセ スされたのかどうかをWEBrick::CGI#request_uriで判断することが できません. そこで,WEBrick::CGI::Socket#request_lineでのURIの生成に @env["REQUEST_URI"]を優先的に使用するようにしてもらえません か? 手元のApache/2.0.54経由で起動されたCGIでは,ブラウザで要求し たURIがENV["REQUEST_URI"]に設定されているため, WEBrick::CGI#request_uriを用いてブラウザから要求したURIが取 得できていることを確認しました. Index: lib/webrick/cgi.rb =================================================================== RCS file: /var/cvs/src/ruby/lib/webrick/cgi.rb,v retrieving revision 1.10 diff -u -p -r1.10 cgi.rb --- lib/webrick/cgi.rb 29 Apr 2005 22:10:55 -0000 1.10 +++ lib/webrick/cgi.rb 26 May 2005 10:31:15 -0000 @@ -148,7 +148,7 @@ module WEBrick def request_line meth = @env["REQUEST_METHOD"] || "GET" - url = (@env["SCRIPT_NAME"] || File.expand_path($0)).dup + url = (@env["REQUEST_URI"] || @env["SCRIPT_NAME"] || File.expand_path($0)).dup url << @env["PATH_INFO"].to_s url = WEBrick::HTTPUtils.escape_path(url) if query_string = @env["QUERY_STRING"]