diff options
-rw-r--r-- | actionpack/lib/action_dispatch/middleware/params_parser.rb | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/params_parser.rb b/actionpack/lib/action_dispatch/middleware/params_parser.rb index 3776aa78ed..580fe2964a 100644 --- a/actionpack/lib/action_dispatch/middleware/params_parser.rb +++ b/actionpack/lib/action_dispatch/middleware/params_parser.rb @@ -26,20 +26,19 @@ module ActionDispatch end def call(env) - if params = parse_formatted_parameters(env) - env["action_dispatch.request.request_parameters"] = params - end + default = env["action_dispatch.request.request_parameters"] + env["action_dispatch.request.request_parameters"] = parse_formatted_parameters(env, default) @app.call(env) end private - def parse_formatted_parameters(env) + def parse_formatted_parameters(env, default) request = Request.new(env) - return false if request.content_length.zero? + return default if request.content_length.zero? - strategy = @parsers.fetch(request.content_mime_type) { return false } + strategy = @parsers.fetch(request.content_mime_type) { return default } strategy.call(request.raw_post) |