Sha256: 8611de9bc203380020981c8899645ff733cf880e7bd780d3114987be9c3ef17b
Contents?: true
Size: 843 Bytes
Versions: 31
Compression:
Stored size: 843 Bytes
Contents
require 'rack' module Appsignal module Rack class Instrumentation def initialize(app, options = {}) Appsignal.logger.debug 'Initializing Appsignal::Rack::Instrumentation' @app, @options = app, options end def call(env) ActiveSupport::Notifications.instrument( 'process_action.rack', raw_payload(env) ) do |payload| @app.call(env) end end def raw_payload(env) request = @options.fetch(:request_class, ::Rack::Request).new(env) params = request.public_send(@options.fetch(:params_method, :params)) { :action => "#{request.request_method}:#{request.path}", :params => params, :method => request.request_method, :path => request.path } end end end end
Version data entries
31 entries across 31 versions & 1 rubygems