提交 383f18b9 编写于 作者: A Aaron Patterson

use get / set header to avoid depending on the `env` ivar

上级 4115a12d
......@@ -8,20 +8,23 @@ module Parameters
# Returns both GET and POST \parameters in a single hash.
def parameters
@env["action_dispatch.request.parameters"] ||= begin
params = begin
request_parameters.merge(query_parameters)
rescue EOFError
query_parameters.dup
end
params.merge!(path_parameters)
end
params = get_header("action_dispatch.request.parameters")
return params if params
params = begin
request_parameters.merge(query_parameters)
rescue EOFError
query_parameters.dup
end
params.merge!(path_parameters)
set_header("action_dispatch.request.parameters", params)
params
end
alias :params :parameters
def path_parameters=(parameters) #:nodoc:
@env.delete('action_dispatch.request.parameters')
@env[PARAMETERS_KEY] = parameters
delete_header('action_dispatch.request.parameters')
set_header PARAMETERS_KEY, parameters
end
# Returns a hash with the \parameters used to form the \path of the request.
......@@ -29,7 +32,7 @@ def path_parameters=(parameters) #:nodoc:
#
# {'action' => 'my_action', 'controller' => 'my_controller'}
def path_parameters
@env[PARAMETERS_KEY] ||= {}
get_header(PARAMETERS_KEY) || {}
end
private
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册