summaryrefslogtreecommitdiff
path: root/lib/webrick
diff options
context:
space:
mode:
authorKazuhiro NISHIYAMA <zn@mbf.nifty.com>2020-06-19 23:06:38 +0900
committerKazuhiro NISHIYAMA <zn@mbf.nifty.com>2020-06-19 23:06:38 +0900
commit32e2440a66366c712808e4bd03d9978861643a9e (patch)
tree74091f5174f15d7d1a588a1c7002a8d1cfe1b034 /lib/webrick
parent97c1782db634ab0344fbc829477897d5de034475 (diff)
Fix `ERROR ArgumentError: invalid byte sequence in UTF-8`
http://ci.rvm.jp/results/trunk-test@ruby-sky1/3012894 ``` /tmp/ruby/v3/src/trunk-test/tool/lib/minitest/unit.rb:199:in `assert': webrick log start: (MiniTest::Assertion) [2020-06-19 23:01:59] ERROR ArgumentError: invalid byte sequence in UTF-8 /tmp/ruby/v3/src/trunk-test/lib/webrick/httpservlet/filehandler.rb:336:in `scan' /tmp/ruby/v3/src/trunk-test/lib/webrick/httpservlet/filehandler.rb:336:in `set_filename' /tmp/ruby/v3/src/trunk-test/lib/webrick/httpservlet/filehandler.rb:310:in `exec_handler' /tmp/ruby/v3/src/trunk-test/lib/webrick/httpservlet/filehandler.rb:245:in `do_GET' /tmp/ruby/v3/src/trunk-test/lib/webrick/httpservlet/abstract.rb:105:in `service' /tmp/ruby/v3/src/trunk-test/lib/webrick/httpservlet/filehandler.rb:241:in `service' /tmp/ruby/v3/src/trunk-test/lib/webrick/httpserver.rb:140:in `service' /tmp/ruby/v3/src/trunk-test/lib/webrick/httpserver.rb:96:in `run' /tmp/ruby/v3/src/trunk-test/lib/webrick/server.rb:307:in `block in start_thread' ```
Diffstat (limited to 'lib/webrick')
-rw-r--r--lib/webrick/httpservlet/filehandler.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/webrick/httpservlet/filehandler.rb b/lib/webrick/httpservlet/filehandler.rb
index 4f6fe706e2..41c0618934 100644
--- a/lib/webrick/httpservlet/filehandler.rb
+++ b/lib/webrick/httpservlet/filehandler.rb
@@ -333,7 +333,7 @@ module WEBrick
def set_filename(req, res)
res.filename = @root
- path_info = set_filesystem_encoding(req.path_info).scan(%r|/[^/]*|)
+ path_info = req.path_info.scan(%r|/[^/]*|).map{|path| set_filesystem_encoding(path) }
path_info.unshift("") # dummy for checking @root dir
while base = path_info.first