提交 b8af4844 编写于 作者: W wycats

No need to unescape params twice if we came from Rack::Mount

上级 ff4c2180
......@@ -29,13 +29,6 @@ def call(env)
def prepare_params!(params)
merge_default_action!(params)
split_glob_param!(params) if @glob_param
params.each do |key, value|
if value.is_a?(String)
value = value.dup.force_encoding(Encoding::BINARY) if value.respond_to?(:force_encoding)
params[key] = URI.unescape(value)
end
end
end
def controller(params, raise_error=true)
......@@ -466,6 +459,13 @@ def recognize_path(path, environment = {})
req = Rack::Request.new(env)
@set.recognize(req) do |route, matches, params|
params.each do |key, value|
if value.is_a?(String)
value = value.dup.force_encoding(Encoding::BINARY) if value.encoding_aware?
params[key] = URI.unescape(value)
end
end
dispatcher = route.app
if dispatcher.is_a?(Dispatcher) && dispatcher.controller(params, false)
dispatcher.prepare_params!(params)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册