Add proper error page for request timeouts
This commit is contained in:
@ -12,6 +12,7 @@ class ApplicationController < ActionController::Base
|
||||
rescue_from ActionController::RoutingError, with: :not_found
|
||||
rescue_from ActiveRecord::RecordNotFound, with: :not_found
|
||||
rescue_from ActionController::InvalidAuthenticityToken, with: :unprocessable_entity
|
||||
rescue_from Rack::Timeout::RequestExpiryError, Rack::Timeout::RequestTimeoutError, with: :request_timeout
|
||||
|
||||
before_action :store_current_location, except: :raise_not_found, unless: :devise_controller?
|
||||
before_action :set_locale
|
||||
@ -69,6 +70,13 @@ class ApplicationController < ActionController::Base
|
||||
end
|
||||
end
|
||||
|
||||
def request_timeout
|
||||
respond_to do |format|
|
||||
format.any { head 503 }
|
||||
format.html { render 'errors/503', layout: 'error', status: 503 }
|
||||
end
|
||||
end
|
||||
|
||||
def current_account
|
||||
@current_account ||= current_user.try(:account)
|
||||
end
|
||||
|
5
app/views/errors/503.html.haml
Normal file
5
app/views/errors/503.html.haml
Normal file
@ -0,0 +1,5 @@
|
||||
- content_for :page_title do
|
||||
Request timeout
|
||||
|
||||
- content_for :content do
|
||||
It took too long to process your request. This might be a temporary server issue
|
Reference in New Issue
Block a user