aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2019-08-18 18:04:18 +0200
committerGitHub <noreply@github.com>2019-08-18 18:04:18 +0200
commita8b0bb355d3e7351b9f3d53fe7a3fb6d3d011d33 (patch)
tree7c0792dd15703504664715e20c4ecec840b59a79
parent1bc077dc740fcaa284588fff43e71da659090980 (diff)
downloadmastodon-a8b0bb355d3e7351b9f3d53fe7a3fb6d3d011d33.tar
mastodon-a8b0bb355d3e7351b9f3d53fe7a3fb6d3d011d33.tar.gz
mastodon-a8b0bb355d3e7351b9f3d53fe7a3fb6d3d011d33.tar.bz2
mastodon-a8b0bb355d3e7351b9f3d53fe7a3fb6d3d011d33.zip
Fix uncaught 422 and 500 errors (#11590)
-rw-r--r--app/controllers/application_controller.rb5
-rw-r--r--app/controllers/media_proxy_controller.rb2
2 files changed, 7 insertions, 0 deletions
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index 66569561c..1caaa20f7 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -25,6 +25,7 @@ class ApplicationController < ActionController::Base
rescue_from ActionController::InvalidAuthenticityToken, with: :unprocessable_entity
rescue_from ActionController::UnknownFormat, with: :not_acceptable
rescue_from Mastodon::NotPermittedError, with: :forbidden
+ rescue_from HTTP::Error, OpenSSL::SSL::SSLError, with: :internal_server_error
before_action :store_current_location, except: :raise_not_found, unless: :devise_controller?
before_action :require_functional!, if: :user_signed_in?
@@ -95,6 +96,10 @@ class ApplicationController < ActionController::Base
respond_with_error(406)
end
+ def internal_server_error
+ respond_with_error(500)
+ end
+
def single_user_mode?
@single_user_mode ||= Rails.configuration.x.single_user_mode && Account.where('id > 0').exists?
end
diff --git a/app/controllers/media_proxy_controller.rb b/app/controllers/media_proxy_controller.rb
index 8da6c6fe0..558cd6e30 100644
--- a/app/controllers/media_proxy_controller.rb
+++ b/app/controllers/media_proxy_controller.rb
@@ -7,6 +7,8 @@ class MediaProxyController < ApplicationController
before_action :authenticate_user!, if: :whitelist_mode?
+ rescue_from ActiveRecord::RecordInvalid, with: :not_found
+
def show
RedisLock.acquire(lock_options) do |lock|
if lock.acquired?