class ProxES::Listener

Public Instance Methods

es_request_denied(request, exception = nil) click to toggle source
# File lib/proxes/services/listener.rb, line 27
def es_request_denied(request, exception = nil)
  detail = request.detail
  detail = "#{detail} - #{exception.class}" if exception
  Ditty::Services::Logger.error exception if exception
  Ditty::AuditLog.create(
    user_traits(request).merge(
      action: :es_request_denied,
      user: request.user,
      details: detail
    )
  )
end
es_request_failed(request, response) click to toggle source
# File lib/proxes/services/listener.rb, line 17
def es_request_failed(request, response)
  Ditty::AuditLog.create(
    user_traits(request).merge(
      action: :es_request_failed,
      user: request.user,
      details: "#{request.detail} > #{response[0]}"
    )
  )
end
user_login(details) click to toggle source
# File lib/proxes/services/listener.rb, line 10
def user_login(details)
  target = details[:target]
  if target.request.session['omniauth.origin'].nil? && target.request.accept?('text/html')
    target.request.session['omniauth.origin'] = '/_proxes'
  end
end
user_traits(request) click to toggle source
# File lib/proxes/services/listener.rb, line 40
def user_traits(request)
  browser = Browser.new(request.user_agent, accept_language: request.env['HTTP_ACCEPT_LANGUAGE'])
  {
    platform: browser.platform.name,
    device: browser.device.name,
    browser: browser.name,
    ip_address: request.ip
  }
end