Sha256: 4621a90e842cdbabe4e2aac369f06d4ecdf696eea259b3f95487f5800cd29152

Contents?: true

Size: 838 Bytes

Versions: 110

Compression:

Stored size: 838 Bytes

Contents

# frozen_string_literal: true

module Appsignal
  module Integrations
    # @api private
    module WebmachineIntegration
      def run
        transaction = Appsignal::Transaction.create(
          SecureRandom.uuid,
          Appsignal::Transaction::HTTP_REQUEST,
          request,
          :params_method => :query
        )

        transaction.set_action_if_nil("#{resource.class.name}##{request.method}")

        Appsignal.instrument("process_action.webmachine") do
          super
        end

        Appsignal::Transaction.complete_current!
      end

      private

      def handle_exceptions
        super do
          begin
            yield
          rescue Exception => e # rubocop:disable Lint/RescueException
            Appsignal.set_error(e)
            raise e
          end
        end
      end
    end
  end
end

Version data entries

110 entries across 110 versions & 1 rubygems

Version Path
appsignal-3.0.2-java lib/appsignal/integrations/webmachine.rb
appsignal-3.0.2 lib/appsignal/integrations/webmachine.rb
appsignal-3.0.1-java lib/appsignal/integrations/webmachine.rb
appsignal-3.0.1 lib/appsignal/integrations/webmachine.rb
appsignal-3.0.0-java lib/appsignal/integrations/webmachine.rb
appsignal-3.0.0 lib/appsignal/integrations/webmachine.rb
appsignal-3.0.0.rc.1 lib/appsignal/integrations/webmachine.rb
appsignal-3.0.0.rc.1-java lib/appsignal/integrations/webmachine.rb
appsignal-3.0.0.beta.1 lib/appsignal/integrations/webmachine.rb
appsignal-3.0.0.beta.1-java lib/appsignal/integrations/webmachine.rb