Sha256: 55a026697b8382ad8453361ba5d6871d02f41f281b140ae2246756754ab36cbd

Contents?: true

Size: 755 Bytes

Versions: 6

Compression:

Stored size: 755 Bytes

Contents

# typed: true
module Datadog
  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

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
ddtrace-1.0.0.beta1 lib/ddtrace/transport/http/api/instance.rb
ddtrace-0.54.2 lib/ddtrace/transport/http/api/instance.rb
ddtrace-0.54.1 lib/ddtrace/transport/http/api/instance.rb
ddtrace-0.54.0 lib/ddtrace/transport/http/api/instance.rb
ddtrace-0.53.0 lib/ddtrace/transport/http/api/instance.rb
ddtrace-0.52.0 lib/ddtrace/transport/http/api/instance.rb