1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

start disconnecting the parameter parser from the instance

pass in the instance variable to start decoupling the meat of the parser
from the instance of the middleware
This commit is contained in:
Aaron Patterson 2015-07-09 15:13:38 -07:00
parent a1d7d65f0a
commit f3bae24c81

View file

@ -27,18 +27,18 @@ module ActionDispatch
def call(env)
default = env["action_dispatch.request.request_parameters"]
env["action_dispatch.request.request_parameters"] = parse_formatted_parameters(env, default)
env["action_dispatch.request.request_parameters"] = parse_formatted_parameters(env, @parsers, default)
@app.call(env)
end
private
def parse_formatted_parameters(env, default)
def parse_formatted_parameters(env, parsers, default)
request = Request.new(env)
return default if request.content_length.zero?
strategy = @parsers.fetch(request.content_mime_type) { return default }
strategy = parsers.fetch(request.content_mime_type) { return default }
strategy.call(request.raw_post)