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