mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
[ruby/webrick] Fix httpd error in CJK directory
[Bug #16753]
83cf440858
This commit is contained in:
parent
6742fcf553
commit
e698bf1a7f
2 changed files with 14 additions and 1 deletions
|
@ -324,7 +324,7 @@ module WEBrick
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_filename(req, res)
|
def set_filename(req, res)
|
||||||
res.filename = @root.dup
|
res.filename = @root.b
|
||||||
path_info = req.path_info.scan(%r|/[^/]*|)
|
path_info = req.path_info.scan(%r|/[^/]*|)
|
||||||
|
|
||||||
path_info.unshift("") # dummy for checking @root dir
|
path_info.unshift("") # dummy for checking @root dir
|
||||||
|
|
|
@ -3,6 +3,7 @@ require "test/unit"
|
||||||
require_relative "utils.rb"
|
require_relative "utils.rb"
|
||||||
require "webrick"
|
require "webrick"
|
||||||
require "stringio"
|
require "stringio"
|
||||||
|
require "tmpdir"
|
||||||
|
|
||||||
class WEBrick::TestFileHandler < Test::Unit::TestCase
|
class WEBrick::TestFileHandler < Test::Unit::TestCase
|
||||||
def teardown
|
def teardown
|
||||||
|
@ -287,6 +288,18 @@ class WEBrick::TestFileHandler < Test::Unit::TestCase
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_cjk_in_path
|
||||||
|
Dir.mktmpdir("\u3042") do |dir|
|
||||||
|
File.write("#{dir}/\u3042.txt", "test_cjk_in_path")
|
||||||
|
config = { :DocumentRoot => dir }
|
||||||
|
TestWEBrick.start_httpserver(config) do |server, addr, port, log|
|
||||||
|
http = Net::HTTP.new(addr, port)
|
||||||
|
req = Net::HTTP::Get.new("/%E3%81%82.txt")
|
||||||
|
http.request(req){|res| assert_equal("200", res.code, log.call) }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def test_script_disclosure
|
def test_script_disclosure
|
||||||
return if File.executable?(__FILE__) # skip on strange file system
|
return if File.executable?(__FILE__) # skip on strange file system
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue