Sha256: 016964a67724e8465ba2cf4909f1a78ac047072ee6582b87ad6201df7c6ef128

Contents?: true

Size: 846 Bytes

Versions: 12

Compression:

Stored size: 846 Bytes

Contents

# frozen_string_literal: true

module Datadog
  module Core
    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

12 entries across 12 versions & 2 rubygems

Version Path
datadog-2.12.2 lib/datadog/core/transport/http/api/instance.rb
datadog-2.12.1 lib/datadog/core/transport/http/api/instance.rb
datadog-2.12.0 lib/datadog/core/transport/http/api/instance.rb
datadog-2.11.0 lib/datadog/core/transport/http/api/instance.rb
ddtrace-1.14.0 lib/datadog/core/transport/http/api/instance.rb
ddtrace-1.13.1 lib/datadog/core/transport/http/api/instance.rb
ddtrace-1.13.0 lib/datadog/core/transport/http/api/instance.rb
ddtrace-1.12.1 lib/datadog/core/transport/http/api/instance.rb
ddtrace-1.12.0 lib/datadog/core/transport/http/api/instance.rb
ddtrace-1.11.1 lib/datadog/core/transport/http/api/instance.rb
ddtrace-1.11.0 lib/datadog/core/transport/http/api/instance.rb
ddtrace-1.11.0.beta1 lib/datadog/core/transport/http/api/instance.rb