Sha256: 1b92919cd315de0fa41853cc0289a2b72c3020d950d4cd85ba296b2818c5eccb
Contents?: true
Size: 1.97 KB
Versions: 2
Compression:
Stored size: 1.97 KB
Contents
module Skylight module Probes module ActionController class Probe def install # Prepending doesn't work here since this a module that's already been included ::ActionController::Instrumentation.class_eval do private alias_method :append_info_to_payload_without_sk, :append_info_to_payload def append_info_to_payload(payload) append_info_to_payload_without_sk(payload) mime = sk_rendered_mime.try(:ref) payload[:sk_rendered_format] = if request&.headers&.[]("Turbo-Frame") [mime, "turbo-frame"].compact.join("+") else mime end payload[:sk_variant] = request.respond_to?(:variant) ? request.variant : nil end def sk_rendered_mime if respond_to?(:media_type) mt = media_type return mt && Mime::Type.lookup(mt) end if content_type.is_a?(Mime::Type) content_type elsif content_type.respond_to?(:to_s) type_str = content_type.to_s.split(";").first Mime::Type.lookup(type_str) unless type_str.blank? elsif respond_to?(:rendered_format) && rendered_format rendered_format end rescue StandardError # There are cases in which actionpack can return # a stringified representation of a Mime::NullType instance, # which is invalid for a number of reasons. This string raises # errors when piped through Mime::Type.lookup, so it's probably # best to just return nil in those cases. nil end end end end end register( :action_controller, "ActionController::Instrumentation", "action_controller/metal/instrumentation", ActionController::Probe.new ) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
skylight-6.1.0.beta | lib/skylight/probes/action_controller.rb |
skylight-6.0.4 | lib/skylight/probes/action_controller.rb |