From a9f28600e901b11a9222e34bfae8642bfb753186 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Tue, 22 Sep 2015 16:20:19 -0700 Subject: don't deal with `nil` values We can know whether or not there is a content type object, and just exit early. There is no need to `try` so hard. --- actionpack/lib/action_controller/metal/params_wrapper.rb | 4 +++- actionpack/lib/action_dispatch/http/mime_negotiation.rb | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/actionpack/lib/action_controller/metal/params_wrapper.rb b/actionpack/lib/action_controller/metal/params_wrapper.rb index e680432127..c38fc40b81 100644 --- a/actionpack/lib/action_controller/metal/params_wrapper.rb +++ b/actionpack/lib/action_controller/metal/params_wrapper.rb @@ -276,7 +276,9 @@ module ActionController # Checks if we should perform parameters wrapping. def _wrapper_enabled? - ref = request.content_mime_type.try(:ref) + return false unless request.has_content_type? + + ref = request.content_mime_type.ref _wrapper_formats.include?(ref) && _wrapper_key && !request.request_parameters[_wrapper_key] end end diff --git a/actionpack/lib/action_dispatch/http/mime_negotiation.rb b/actionpack/lib/action_dispatch/http/mime_negotiation.rb index 1a72ec847d..cfb96f5a2d 100644 --- a/actionpack/lib/action_dispatch/http/mime_negotiation.rb +++ b/actionpack/lib/action_dispatch/http/mime_negotiation.rb @@ -29,6 +29,10 @@ module ActionDispatch content_mime_type && content_mime_type.to_s end + def has_content_type? + has_header? 'CONTENT_TYPE' + end + # Returns the accepted MIME type for the request. def accepts fetch_header("action_dispatch.request.accepts") do |k| -- cgit v1.2.3