summaryrefslogtreecommitdiffstats
path: root/lib/redmine/views
diff options
context:
space:
mode:
authorMarius Balteanu <marius.balteanu@zitec.com>2022-01-30 13:39:06 +0000
committerMarius Balteanu <marius.balteanu@zitec.com>2022-01-30 13:39:06 +0000
commit9f6d8711e767a5a4b57cb05f3ad175e3d675d05b (patch)
tree3d0a67b2a6e8f221e75d6c01783a6807a363ee9d /lib/redmine/views
parentca3f4d0e0ad1608c705d908fbed3ffdb1175fb1e (diff)
downloadredmine-9f6d8711e767a5a4b57cb05f3ad175e3d675d05b.tar.gz
redmine-9f6d8711e767a5a4b57cb05f3ad175e3d675d05b.zip
Return 406 status code instead of 500 when API request has an invalid format (#34766).
Patch by Felix Schäfer. git-svn-id: http://svn.redmine.org/redmine/trunk@21392 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'lib/redmine/views')
-rw-r--r--lib/redmine/views/builders.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/redmine/views/builders.rb b/lib/redmine/views/builders.rb
index 6745d0b58..e72610664 100644
--- a/lib/redmine/views/builders.rb
+++ b/lib/redmine/views/builders.rb
@@ -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)