class Logtail::Integrations::Rails::SessionContext

A Rack middleware that is responsible for adding the Session context {Logtail::Contexts::Session}.

Public Instance Methods

call(env) click to toggle source
# File lib/logtail-rails/session_context.rb, line 10
def call(env)
  id = get_session_id(env)
  if id
    context = Contexts::Session.new(id: id)
    CurrentContext.add(context.to_hash)
  end
  @app.call(env)
end

Private Instance Methods

get_session_id(env) click to toggle source
# File lib/logtail-rails/session_context.rb, line 20
def get_session_id(env)
  session_key = ::Rails.application.config.session_options[:key]
  request = ::ActionDispatch::Request.new(env)
  extract_from_cookie(request, session_key)
rescue Exception => e
  nil
end