From 6fa2023c816e8dc8d2735a5fe87098ef5d8253f9 Mon Sep 17 00:00:00 2001 From: Jorge Bejar Date: Mon, 20 Jul 2015 16:38:09 -0300 Subject: DebugException initialize with a response_format value --- .../lib/action_dispatch/middleware/debug_exceptions.rb | 13 +++++++------ actionpack/test/dispatch/debug_exceptions_test.rb | 4 ++-- 2 files changed, 9 insertions(+), 8 deletions(-) (limited to 'actionpack') 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 -- cgit v1.2.3