Sha256: 7e03641f7dd8f123db5d521229f7bb6ba6cafdadccfc90c8a724e918cd64ac2b
Contents?: true
Size: 1.38 KB
Versions: 1
Compression:
Stored size: 1.38 KB
Contents
# frozen_string_literal: true require "rails" require "honeycomb/integrations/active_support" require "honeycomb/integrations/rack" module Honeycomb # Add Rails specific information to the Honeycomb::Rack middleware module Rails def add_package_information(env) yield "meta.package", "rails" yield "meta.package_version", ::Rails::VERSION::STRING ::ActionDispatch::Request.new(env).tap do |request| yield "request.controller", request.params[:controller] yield "request.action", request.params[:action] break unless request.respond_to? :routes break unless request.routes.respond_to? :router found_route = false request.routes.router.recognize(request) do |route, _| break if found_route found_route = true yield "request.route", "#{env['REQUEST_METHOD']} #{route.path.spec}" end end end end # Automatically capture rack requests and create a trace class Railtie < ::Rails::Railtie initializer "honeycomb.install_middleware", after: :load_config_initializers do |app| if Honeycomb.client # what location should we insert the middleware at? app.config.middleware.insert_before( ::Rails::Rack::Logger, Honeycomb::Rack, client: Honeycomb.client, ) end end end end Honeycomb::Rack.prepend Honeycomb::Rails
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
honeycomb-beeline-1.0.0.pre.alpha1 | lib/honeycomb/integrations/rails.rb |