aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorSantiago Pastorino <santiago@wyeworks.com>2015-04-21 16:45:43 -0400
committerSantiago Pastorino <santiago@wyeworks.com>2015-06-11 16:54:13 -0300
commite7b89f10813e16936f305b0cc5456c7e37e8ee9a (patch)
tree031b4f5f9fe954fcd71cebd541d30e280b53e3fe /actionpack
parent38818c93a9959118a87bbdeda16e0766adc67598 (diff)
downloadrails-e7b89f10813e16936f305b0cc5456c7e37e8ee9a.tar.gz
rails-e7b89f10813e16936f305b0cc5456c7e37e8ee9a.tar.bz2
rails-e7b89f10813e16936f305b0cc5456c7e37e8ee9a.zip
Remove Unneeded ApiPublicExceptions middleware, PublicExceptions already does the work
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/action_dispatch.rb1
-rw-r--r--actionpack/lib/action_dispatch/middleware/api_public_exceptions.rb46
-rw-r--r--actionpack/test/dispatch/show_exceptions_test.rb37
3 files changed, 0 insertions, 84 deletions
diff --git a/actionpack/lib/action_dispatch.rb b/actionpack/lib/action_dispatch.rb
index 74ddf2954a..dcd3ee0644 100644
--- a/actionpack/lib/action_dispatch.rb
+++ b/actionpack/lib/action_dispatch.rb
@@ -53,7 +53,6 @@ module ActionDispatch
autoload :ExceptionWrapper
autoload :Flash
autoload :ParamsParser
- autoload :ApiPublicExceptions
autoload :PublicExceptions
autoload :Reloader
autoload :RemoteIp
diff --git a/actionpack/lib/action_dispatch/middleware/api_public_exceptions.rb b/actionpack/lib/action_dispatch/middleware/api_public_exceptions.rb
deleted file mode 100644
index 00c7a9622a..0000000000
--- a/actionpack/lib/action_dispatch/middleware/api_public_exceptions.rb
+++ /dev/null
@@ -1,46 +0,0 @@
-module ActionDispatch
- class ApiPublicExceptions
- attr_accessor :public_path
-
- def initialize(public_path)
- @public_path = public_path
- end
-
- def call(env)
- exception = env["action_dispatch.exception"]
- status = env["PATH_INFO"][1..-1]
- request = ActionDispatch::Request.new(env)
- content_type = request.formats.first
- body = { :status => status, :error => exception.message }
-
- render(status, content_type, body)
- end
-
- private
- def render(status, content_type, body)
- format = content_type && "to_#{content_type.to_sym}"
- if format && body.respond_to?(format)
- render_format(status, content_type, body.public_send(format))
- else
- render_html(status)
- end
- end
-
- def render_format(status, content_type, body)
- [status, {'Content-Type' => "#{content_type}; charset=#{ActionDispatch::Response.default_charset}",
- 'Content-Length' => body.bytesize.to_s}, [body]]
- end
-
- def render_html(status)
- found = false
- path = "#{public_path}/#{status}.#{I18n.locale}.html" if I18n.locale
- path = "#{public_path}/#{status}.html" unless path && (found = File.exist?(path))
-
- if found || File.exist?(path)
- render_format(status, 'text/html', File.read(path))
- else
- [404, { "X-Cascade" => "pass" }, []]
- end
- end
- end
-end
diff --git a/actionpack/test/dispatch/show_exceptions_test.rb b/actionpack/test/dispatch/show_exceptions_test.rb
index c70bc5f95e..a7cd56f263 100644
--- a/actionpack/test/dispatch/show_exceptions_test.rb
+++ b/actionpack/test/dispatch/show_exceptions_test.rb
@@ -23,7 +23,6 @@ class ShowExceptionsTest < ActionDispatch::IntegrationTest
end
ProductionApp = ActionDispatch::ShowExceptions.new(Boomer.new, ActionDispatch::PublicExceptions.new("#{FIXTURE_LOAD_PATH}/public"))
- ProductionApiApp = ActionDispatch::ShowExceptions.new(Boomer.new, ActionDispatch::ApiPublicExceptions.new("#{FIXTURE_LOAD_PATH}/public"))
test "skip exceptions app if not showing exceptions" do
@app = ProductionApp
@@ -56,42 +55,6 @@ class ShowExceptionsTest < ActionDispatch::IntegrationTest
assert_equal "", body
end
- test "rescue api apps with json response" do
- @app = ProductionApiApp
-
- get "/", headers: { 'HTTP_ACCEPT' => 'application/json', 'action_dispatch.show_exceptions' => true }
- assert_response 500
- assert_equal({ :status => '500', :error => 'puke!' }.to_json, body)
-
- get "/method_not_allowed", headers: { 'HTTP_ACCEPT' => 'application/json', 'action_dispatch.show_exceptions' => true }
- assert_response 405
- assert_equal({ :status => '405', :error => 'Only PUT requests are allowed.' }.to_json, body)
-
- get "/unknown_http_method", headers: { 'HTTP_ACCEPT' => 'application/json', 'action_dispatch.show_exceptions' => true }
- assert_response 405
- assert_equal({ :status => '405', :error => 'ActionController::UnknownHttpMethod' }.to_json, body)
- end
-
- test "rescue api apps unknown content-type requests with html response" do
- @app = ProductionApiApp
-
- get "/", headers: { 'HTTP_ACCEPT' => 'application/x-custom', 'action_dispatch.show_exceptions' => true }
- assert_response 500
- assert_equal "500 error fixture\n", body
-
- get "/bad_params", headers: { 'HTTP_ACCEPT' => 'application/x-custom', 'action_dispatch.show_exceptions' => true }
- assert_response 400
- assert_equal "400 error fixture\n", body
-
- get "/not_found", headers: { 'HTTP_ACCEPT' => 'application/x-custom', 'action_dispatch.show_exceptions' => true }
- assert_response 404
- assert_equal "404 error fixture\n", body
-
- get "/unknown_http_method", headers: { 'HTTP_ACCEPT' => 'application/x-custom', 'action_dispatch.show_exceptions' => true }
- assert_response 405
- assert_equal("", body)
- end
-
test "localize rescue error page" do
old_locale, I18n.locale = I18n.locale, :da