class Wildsight::Rack::BottomMiddleware
Public Class Methods
new(app)
click to toggle source
# File lib/wildsight/rack/bottom_middleware.rb, line 6 def initialize(app) @app = app end
Public Instance Methods
call(env)
click to toggle source
# File lib/wildsight/rack/bottom_middleware.rb, line 10 def call(env) context = Wildsight::Rack.detect_context(env) response = context.profiler.duration(:rails) { @app.call(env) } return response rescue Exception => e context.event(:exception, extract(e)) raise e end
extract(exception)
click to toggle source
# File lib/wildsight/rack/bottom_middleware.rb, line 19 def extract(exception) data = {:message => exception.message, :name => exception.class.name, :backtrace => exception.backtrace} data[:cause] = extract_exception(exception.cause) if exception.cause return data end