Fix uncaught 422 and 500 errors (#11590)

This commit is contained in:
Eugen Rochko 2019-08-18 18:04:18 +02:00 committed by GitHub
parent 1bc077dc74
commit a8b0bb355d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 0 deletions

View file

@ -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

View file

@ -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?