class SnailTracker::Rails::Middleware
Attributes
app[RW]
session_key[RW]
Public Class Methods
new(app)
click to toggle source
# File lib/snailtracker/rails/middleware.rb, line 5 def initialize(app) @app = app end
Public Instance Methods
call(env)
click to toggle source
# File lib/snailtracker/rails/middleware.rb, line 12 def call(env) session_key = get_session_key(env) # If no session key is set, we can't track the data, # so just leave. unless session_key return @app.call(env) end begin @app.call(env) rescue => exception begin SnailTracker::Rails::Error.session_key = session_key SnailTracker::Rails::Error.create({exception_class: exception.class.to_s, message: exception.message}) rescue end puts "SnailTracker caught exception: #{exception}" raise end end
get_session_key(env)
click to toggle source
# File lib/snailtracker/rails/middleware.rb, line 8 def get_session_key(env) request = ActionDispatch::Request.new(env) request.cookies["snailtracker-session"] end