Sha256: 2f0319ad170871c90bbfc6159199cf927d1ecdff380e1f37670bd302fe317c00
Contents?: true
Size: 1.04 KB
Versions: 22
Compression:
Stored size: 1.04 KB
Contents
# frozen_string_literal: true module Appsignal module Integrations # @api private module WebmachineIntegration def run has_parent_transaction = Appsignal::Transaction.current? transaction = if has_parent_transaction Appsignal::Transaction.current else Appsignal::Transaction.create(Appsignal::Transaction::HTTP_REQUEST) end Appsignal.instrument("process_action.webmachine") do super end ensure transaction.set_action_if_nil("#{resource.class.name}##{request.method}") transaction.set_params_if_nil(request.query) transaction.set_headers_if_nil { request.headers if request.respond_to?(:headers) } Appsignal::Transaction.complete_current! unless has_parent_transaction end private def handle_exceptions super do yield rescue Exception => e # rubocop:disable Lint/RescueException Appsignal.set_error(e) raise e end end end end end
Version data entries
22 entries across 22 versions & 1 rubygems