Sha256: fa29e9656ab7506c59dab4fedf66b0eb48e4611dcf8b6c141eb82e163583c852

Contents?: true

Size: 805 Bytes

Versions: 2

Compression:

Stored size: 805 Bytes

Contents

require 'ddtrace/contrib/patcher'
require 'ddtrace/contrib/httpclient/instrumentation'

module Datadog
  module Contrib
    # Datadog Httpclient integration.
    module Httpclient
      # Patcher enables patching of 'httpclient' module.
      module Patcher
        include Contrib::Patcher

        module_function

        def patched?
          done?(:httpclient)
        end

        def target_version
          Integration.version
        end

        # patch applies our patch
        def patch
          do_once(:httpclient) do
            begin
              ::HTTPClient.send(:include, Instrumentation)
            rescue StandardError => e
              Datadog::Logger.error("Unable to apply httpclient integration: #{e}")
            end
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ddtrace-0.46.0 lib/ddtrace/contrib/httpclient/patcher.rb
ddtrace-0.45.0 lib/ddtrace/contrib/httpclient/patcher.rb