diff options
author | gotoyuzo <gotoyuzo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-04-29 22:10:56 +0000 |
---|---|---|
committer | gotoyuzo <gotoyuzo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-04-29 22:10:56 +0000 |
commit | 6d69a240b86c10f128347a681c731c5cda972e22 (patch) | |
tree | 8c9bd04a6a25651179305f2e8e60de5f920e4771 /lib/webrick/httputils.rb | |
parent | 0e3af10d5ef375f69ba8792fa5355e635b54421b (diff) | |
download | ruby-6d69a240b86c10f128347a681c731c5cda972e22.tar.gz |
* lib/webrick/cgi.rb: new methods WEBrick::CGI#[], WEBrick::CGI#logger
and WEBrick::CGI#config. these are necessary to use an instance of
WEBrick::CGI as the first argument of HTTPServlet#get_instance.
(suggested by Tatsuki Sugiura)
* lib/webrick/cgi.rb
(WEBrick::CGI#initalize): set a dummy to @config[:ServerSoftware]
if SERVER_SOFTWARE environment variable is not given.
(WEBrick::CGI#start): req.path_info must be a String.
(WEBrick::CGI::Socket#request_line): treat REQUEST_METHOD, PATH_INFO
and SCRIPT_NAME to run in console.
* lib/webrick/httputils.rb (WEBrick::HTTPUtils.escape_path): should
not use String#split("/"). it removes trailing empty path component.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/webrick/httputils.rb')
-rw-r--r-- | lib/webrick/httputils.rb | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/webrick/httputils.rb b/lib/webrick/httputils.rb index e0855222f1..67bc281c5d 100644 --- a/lib/webrick/httputils.rb +++ b/lib/webrick/httputils.rb @@ -384,9 +384,11 @@ module WEBrick end def escape_path(str) - str.split("/").collect{|i| - _escape(i, UNESCAPED_PCHAR) - }.join("/") + result = "" + str.scan(%r{/([^/]*)}).each{|i| + result << "/" << _escape(i[0], UNESCAPED_PCHAR) + } + return result end def escape8bit(str) |