class ApplicationController < ActionController::Base
+ require "timeout"
+
include SessionPersistence
protect_from_forgery :with => :exception
def require_user
unless current_user
if request.get?
- redirect_to :controller => "users", :action => "login", :referer => request.fullpath
+ redirect_to login_path(:referer => request.fullpath)
else
head :forbidden
end
##
# wrap an api call in a timeout
def api_call_timeout(&block)
- OSM::Timer.timeout(Settings.api_timeout, Timeout::Error, &block)
+ Timeout.timeout(Settings.api_timeout, Timeout::Error, &block)
rescue Timeout::Error
raise OSM::APITimeoutError
end
##
# wrap a web page in a timeout
def web_timeout(&block)
- OSM::Timer.timeout(Settings.web_timeout, Timeout::Error, &block)
+ Timeout.timeout(Settings.web_timeout, Timeout::Error, &block)
rescue ActionView::Template::Error => e
e = e.cause
end
elsif request.get?
respond_to do |format|
- format.html { redirect_to :controller => "users", :action => "login", :referer => request.fullpath }
+ format.html { redirect_to login_path(:referer => request.fullpath) }
format.any { head :forbidden }
end
else
referer = nil
end
+ referer = nil if referer&.path&.first != "/"
+
referer.to_s
end
end