aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/action_dispatch/middleware/debug_exceptions.rb13
-rw-r--r--actionpack/test/dispatch/debug_exceptions_test.rb4
2 files changed, 9 insertions, 8 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/debug_exceptions.rb b/actionpack/lib/action_dispatch/middleware/debug_exceptions.rb
index 7912b5ce82..642c7183cc 100644
--- a/actionpack/lib/action_dispatch/middleware/debug_exceptions.rb
+++ b/actionpack/lib/action_dispatch/middleware/debug_exceptions.rb
@@ -38,10 +38,10 @@ module ActionDispatch
end
end
- def initialize(app, routes_app = nil, api_only = false)
- @app = app
- @routes_app = routes_app
- @api_only = api_only
+ def initialize(app, routes_app = nil, response_format = :default)
+ @app = app
+ @routes_app = routes_app
+ @response_format = response_format
end
def call(env)
@@ -67,9 +67,10 @@ module ActionDispatch
log_error(request, wrapper)
if request.get_header('action_dispatch.show_detailed_exceptions')
- if @api_only
+ case @response_format
+ when :api
render_for_api_application(request, wrapper)
- else
+ when :default
render_for_default_application(request, wrapper)
end
else
diff --git a/actionpack/test/dispatch/debug_exceptions_test.rb b/actionpack/test/dispatch/debug_exceptions_test.rb
index d9c6233511..159bf10545 100644
--- a/actionpack/test/dispatch/debug_exceptions_test.rb
+++ b/actionpack/test/dispatch/debug_exceptions_test.rb
@@ -213,7 +213,7 @@ class DebugExceptionsTest < ActionDispatch::IntegrationTest
end
test "rescue with json error for API request" do
- @app = ActionDispatch::DebugExceptions.new(Boomer.new(true), RoutesApp, true)
+ @app = ActionDispatch::DebugExceptions.new(Boomer.new(true), RoutesApp, :api)
get "/", headers: { 'action_dispatch.show_exceptions' => true }
assert_response 500
@@ -254,7 +254,7 @@ class DebugExceptionsTest < ActionDispatch::IntegrationTest
end
test "rescue with json on API request returns only allowed formats or json as a fallback" do
- @app = ActionDispatch::DebugExceptions.new(Boomer.new(true), RoutesApp, true)
+ @app = ActionDispatch::DebugExceptions.new(Boomer.new(true), RoutesApp, :api)
get "/index.json", headers: { 'action_dispatch.show_exceptions' => true }
assert_response 500