aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonstantin Papkovskiy <konstantin@papkovskiy.com>2013-01-17 17:42:49 +0400
committerKonstantin Papkovskiy <konstantin@papkovskiy.com>2013-01-17 17:42:49 +0400
commitbebb02fd1c5ea0e8da9fb61eefcbb6ec8b9ab11f (patch)
tree8f59d6803978d60b8481ce866dba7e6a34a02d60
parentee314a5e5aa2b29978b78fbe1b272bcfff865d4a (diff)
downloadrails-bebb02fd1c5ea0e8da9fb61eefcbb6ec8b9ab11f.tar.gz
rails-bebb02fd1c5ea0e8da9fb61eefcbb6ec8b9ab11f.tar.bz2
rails-bebb02fd1c5ea0e8da9fb61eefcbb6ec8b9ab11f.zip
Fix ActionDispatch::Request#formats when HTTP_ACCEPT header is empty string
-rw-r--r--actionpack/lib/action_dispatch/http/mime_negotiation.rb2
-rw-r--r--actionpack/test/dispatch/request_test.rb4
2 files changed, 5 insertions, 1 deletions
diff --git a/actionpack/lib/action_dispatch/http/mime_negotiation.rb b/actionpack/lib/action_dispatch/http/mime_negotiation.rb
index 57660e93c4..89a7b12818 100644
--- a/actionpack/lib/action_dispatch/http/mime_negotiation.rb
+++ b/actionpack/lib/action_dispatch/http/mime_negotiation.rb
@@ -122,7 +122,7 @@ module ActionDispatch
def valid_accept_header
(xhr? && (accept || content_mime_type)) ||
- (accept && accept !~ BROWSER_LIKE_ACCEPTS)
+ (accept.present? && accept !~ BROWSER_LIKE_ACCEPTS)
end
def use_accept_header
diff --git a/actionpack/test/dispatch/request_test.rb b/actionpack/test/dispatch/request_test.rb
index 39923d0d2b..8a01b29340 100644
--- a/actionpack/test/dispatch/request_test.rb
+++ b/actionpack/test/dispatch/request_test.rb
@@ -587,6 +587,10 @@ class RequestTest < ActiveSupport::TestCase
request.expects(:parameters).at_least_once.returns({})
assert_equal [Mime::HTML], request.formats
+ request = stub_request 'HTTP_ACCEPT' => ''
+ request.expects(:parameters).at_least_once.returns({})
+ assert_equal [Mime::HTML], request.formats
+
request = stub_request 'CONTENT_TYPE' => 'application/xml; charset=UTF-8',
'HTTP_X_REQUESTED_WITH' => "XMLHttpRequest"
request.expects(:parameters).at_least_once.returns({})