From 6e872c6dabf12fdd2619d4042495e52edd6079bd Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 16 Aug 2019 02:08:35 +0200 Subject: Fix 422 being returned instead of 404 when POSTing (#11574) --- app/controllers/application_controller.rb | 2 ++ 1 file changed, 2 insertions(+) (limited to 'app/controllers/application_controller.rb') diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 0d3913ee0..66569561c 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -29,6 +29,8 @@ class ApplicationController < ActionController::Base before_action :store_current_location, except: :raise_not_found, unless: :devise_controller? before_action :require_functional!, if: :user_signed_in? + skip_before_action :verify_authenticity_token, only: :raise_not_found + def raise_not_found raise ActionController::RoutingError, "No route matches #{params[:unmatched_route]}" end -- cgit From a8b0bb355d3e7351b9f3d53fe7a3fb6d3d011d33 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sun, 18 Aug 2019 18:04:18 +0200 Subject: Fix uncaught 422 and 500 errors (#11590) --- app/controllers/application_controller.rb | 5 +++++ app/controllers/media_proxy_controller.rb | 2 ++ 2 files changed, 7 insertions(+) (limited to 'app/controllers/application_controller.rb') 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? -- cgit