aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/http
diff options
context:
space:
mode:
authorMehmet Emin İNAÇ <mehmetemininac@gmail.com>2016-02-20 11:33:05 +0200
committerRafael Mendonça França <rafaelmfranca@gmail.com>2016-02-22 21:22:28 -0300
commit97ed810cfc15725a0856227fa9f9eb26930f16c8 (patch)
treed55772c514e0a96f833847c80d0e7e85e30c598a /actionpack/lib/action_dispatch/http
parent353782652b7dae7573f6480439519f227c41185a (diff)
downloadrails-97ed810cfc15725a0856227fa9f9eb26930f16c8.tar.gz
rails-97ed810cfc15725a0856227fa9f9eb26930f16c8.tar.bz2
rails-97ed810cfc15725a0856227fa9f9eb26930f16c8.zip
Use symbol of mime type instead of object to get correct parser
After registering new `:json` mime type `parsers.fetch` can't find the mime type because new mime type is not equal to old one. Using symbol of the mime type as key on parsers hash solves the problem. Closes #23766
Diffstat (limited to 'actionpack/lib/action_dispatch/http')
-rw-r--r--actionpack/lib/action_dispatch/http/parameters.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/actionpack/lib/action_dispatch/http/parameters.rb b/actionpack/lib/action_dispatch/http/parameters.rb
index cca7376ffa..bcb818d38c 100644
--- a/actionpack/lib/action_dispatch/http/parameters.rb
+++ b/actionpack/lib/action_dispatch/http/parameters.rb
@@ -4,7 +4,7 @@ module ActionDispatch
PARAMETERS_KEY = 'action_dispatch.request.path_parameters'
DEFAULT_PARSERS = {
- Mime[:json] => lambda { |raw_post|
+ Mime[:json].symbol => -> (raw_post) {
data = ActiveSupport::JSON.decode(raw_post)
data.is_a?(Hash) ? data : {:_json => data}
}
@@ -51,7 +51,7 @@ module ActionDispatch
def parse_formatted_parameters(parsers)
return yield if content_length.zero?
- strategy = parsers.fetch(content_mime_type) { return yield }
+ strategy = parsers.fetch(content_mime_type.symbol) { return yield }
begin
strategy.call(raw_post)