3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# File 'app/models/system_user.rb', line 3
def self.mediaflux_session
Rails.cache.fetch("mediaflux_session", expires_in: 10.minutes) do
logon_request = Mediaflux::LogonRequest.new
if logon_request.error?
raise Mediaflux::SessionError, "System logon was invalid! #{logon_request.response_error}"
end
logon_request.session_token
end
rescue EOFError => ex
if eof_error_handler
Rails.logger.error "EOFError detected when attempting system logon. Details: #{ex.message}, retrying..."
Honeybadger.notify "EOFError detected when attempting system logon. Details: #{ex.message}, retrying..."
retry
else
raise Mediaflux::SessionError, "System logon failed due to repeated EOFErrors: #{ex.message}"
end
end
|