Skip to content
Snippets Groups Projects
Commit 5b126248 authored by Eugen Rochko's avatar Eugen Rochko
Browse files

Add proper error page for request timeouts

parent 34ff11c4
No related branches found
No related tags found
No related merge requests found
......@@ -50,6 +50,7 @@ gem 'rails-settings-cached'
gem 'simple-navigation'
gem 'statsd-instrument'
gem 'ruby-oembed', require: 'oembed'
gem 'rack-timeout'
gem 'react-rails'
gem 'browserify-rails'
......@@ -89,5 +90,4 @@ group :production do
gem 'rails_12factor'
gem 'redis-rails'
gem 'lograge'
gem 'rack-timeout'
end
......@@ -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
......
- 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
Rack::Timeout::Logger.disable
Rack::Timeout.service_timeout = false
if Rails.env.production?
Rack::Timeout.service_timeout = 90
Rack::Timeout::Logger.disable
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment