Sha256: de9507db6ae45e2706a18ee9e3f54946d6593570faf543759c3146e2089b48b4

Contents?: true

Size: 849 Bytes

Versions: 28

Compression:

Stored size: 849 Bytes

Contents

# frozen_string_literal: true

module Datadog
  module Tracing
    module Transport
      module HTTP
        module API
          # An API configured with adapter and routes
          class Instance
            attr_reader \
              :adapter,
              :headers,
              :spec

            def initialize(spec, adapter, options = {})
              @spec = spec
              @adapter = adapter
              @headers = options.fetch(:headers, {})
            end

            def encoder
              spec.encoder
            end

            def call(env)
              # Add headers to request env, unless empty.
              env.headers.merge!(headers) unless headers.empty?

              # Send request env to the adapter.
              adapter.call(env)
            end
          end
        end
      end
    end
  end
end

Version data entries

28 entries across 28 versions & 2 rubygems

Version Path
datadog-2.10.0 lib/datadog/tracing/transport/http/api/instance.rb
datadog-2.9.0 lib/datadog/tracing/transport/http/api/instance.rb
datadog-2.8.0 lib/datadog/tracing/transport/http/api/instance.rb
datadog-2.7.1 lib/datadog/tracing/transport/http/api/instance.rb
datadog-2.7.0 lib/datadog/tracing/transport/http/api/instance.rb
datadog-2.6.0 lib/datadog/tracing/transport/http/api/instance.rb
datadog-2.5.0 lib/datadog/tracing/transport/http/api/instance.rb
datadog-2.4.0 lib/datadog/tracing/transport/http/api/instance.rb
datadog-2.3.0 lib/datadog/tracing/transport/http/api/instance.rb
datadog-2.2.0 lib/datadog/tracing/transport/http/api/instance.rb
ddtrace-1.23.3 lib/datadog/tracing/transport/http/api/instance.rb
ddtrace-1.23.2 lib/datadog/tracing/transport/http/api/instance.rb
datadog-2.1.0 lib/datadog/tracing/transport/http/api/instance.rb
datadog-2.0.0 lib/datadog/tracing/transport/http/api/instance.rb
ddtrace-1.23.1 lib/datadog/tracing/transport/http/api/instance.rb
datadog-2.0.0.beta2 lib/datadog/tracing/transport/http/api/instance.rb
ddtrace-1.22.0 lib/datadog/tracing/transport/http/api/instance.rb
datadog-2.0.0.beta1 lib/datadog/tracing/transport/http/api/instance.rb
ddtrace-1.21.1 lib/datadog/tracing/transport/http/api/instance.rb
ddtrace-1.21.0 lib/datadog/tracing/transport/http/api/instance.rb