]> source.dussan.org Git - redmine.git/commitdiff
Return 406 status code instead of 500 when API request has an invalid format (#34766).
authorMarius Balteanu <marius.balteanu@zitec.com>
Sun, 30 Jan 2022 13:39:06 +0000 (13:39 +0000)
committerMarius Balteanu <marius.balteanu@zitec.com>
Sun, 30 Jan 2022 13:39:06 +0000 (13:39 +0000)
Patch by Felix Schäfer.

git-svn-id: http://svn.redmine.org/redmine/trunk@21392 e93f8b46-1217-0410-a6f0-8f06a7374b81

lib/redmine/views/builders.rb

index 6745d0b581be5fa67766748572ca9a3e1cee8771..e72610664aeb77edf5d4633684d51267b2448452 100644 (file)
@@ -30,7 +30,9 @@ module Redmine
             when 'xml',  :xml  then Builders::Xml.new(request, response)
             when 'json', :json then Builders::Json.new(request, response)
             else
-              raise "No builder for format #{format}"
+              Rails.logger.error "No builder for format #{format.inspect}"
+              response.status = 406
+              return "We couldn't handle your request, sorry. If you were trying to access the API, make sure to append .json or .xml to your request URL.\n"
             end
           if block_given?
             yield(builder)