Permalink
Browse files

Make sure xml_simple requests don't blow up if an empty request body …

…is recieved

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3936 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent 50103b8 commit 79a82e3a97e1ad9d057682ea3b4dc60fb714ec8a @jamis jamis committed Mar 18, 2006
@@ -63,11 +63,12 @@ def self.parse_formatted_request_parameters(mime_type, raw_post_data)
when Proc
strategy.call(raw_post_data)
when :xml_simple
- typecast_xml_value(XmlSimple.xml_in(raw_post_data,
- 'forcearray' => false,
- 'forcecontent' => true,
- 'keeproot' => true,
- 'contentkey' => '__content__'))
+ raw_post_data.blank? ? nil :
+ typecast_xml_value(XmlSimple.xml_in(raw_post_data,
+ 'forcearray' => false,
+ 'forcecontent' => true,
+ 'keeproot' => true,
+ 'contentkey' => '__content__'))
when :yaml
YAML.load(raw_post_data)
when :xml_node
@@ -92,6 +92,12 @@ def test_register_and_use_xml_simple
assert_equal 'content...', @controller.params["summary"]
assert_equal 'SimpleXml', @controller.params["title"]
end
+
+ def test_use_xml_ximple_with_empty_request
+ ActionController::Base.param_parsers[Mime::XML] = :xml_simple
+ assert_nothing_raised { process('POST', 'application/xml', "") }
+ assert_equal "", @controller.response.body
+ end
def test_deprecated_request_methods
process('POST', 'application/x-yaml')

0 comments on commit 79a82e3

Please sign in to comment.