Sha256: 7fa44d2a644a5325029f12f2b6a6d9124f4ca4cfc5475d16a0140b7a4b369564

Contents?: true

Size: 756 Bytes

Versions: 16

Compression:

Stored size: 756 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

16 entries across 16 versions & 1 rubygems

Version Path
ddtrace-1.9.0 lib/ddtrace/transport/http/api/instance.rb
ddtrace-1.8.0 lib/ddtrace/transport/http/api/instance.rb
ddtrace-1.7.0 lib/ddtrace/transport/http/api/instance.rb
ddtrace-1.6.1 lib/ddtrace/transport/http/api/instance.rb
ddtrace-1.6.0 lib/ddtrace/transport/http/api/instance.rb
ddtrace-1.5.2 lib/ddtrace/transport/http/api/instance.rb
ddtrace-1.5.1 lib/ddtrace/transport/http/api/instance.rb
ddtrace-1.5.0 lib/ddtrace/transport/http/api/instance.rb
ddtrace-1.4.2 lib/ddtrace/transport/http/api/instance.rb
ddtrace-1.4.1 lib/ddtrace/transport/http/api/instance.rb
ddtrace-1.4.0 lib/ddtrace/transport/http/api/instance.rb
ddtrace-1.3.0 lib/ddtrace/transport/http/api/instance.rb
ddtrace-1.2.0 lib/ddtrace/transport/http/api/instance.rb
ddtrace-1.1.0 lib/ddtrace/transport/http/api/instance.rb
ddtrace-1.0.0 lib/ddtrace/transport/http/api/instance.rb
ddtrace-1.0.0.beta2 lib/ddtrace/transport/http/api/instance.rb