Sha256: be4fcb58cfffcfd5408946b704ef1fa3b3344a0ea4891e50edbd258b2c755e28

Contents?: true

Size: 1.14 KB

Versions: 5

Compression:

Stored size: 1.14 KB

Contents

# typed: false
require 'ddtrace/encoding'

require 'ddtrace/transport/http/api/map'
require 'ddtrace/transport/http/api/spec'

require 'ddtrace/transport/http/traces'

module Datadog
  module Transport
    module HTTP
      # Namespace for API components
      module API
        # Default API versions
        V4 = 'v0.4'.freeze
        V3 = 'v0.3'.freeze
        V2 = 'v0.2'.freeze

        module_function

        def defaults
          Map[
            V4 => Spec.new do |s|
              s.traces = Traces::API::Endpoint.new(
                '/v0.4/traces'.freeze,
                Encoding::MsgpackEncoder,
                service_rates: true
              )
            end,
            V3 => Spec.new do |s|
              s.traces = Traces::API::Endpoint.new(
                '/v0.3/traces'.freeze,
                Encoding::MsgpackEncoder
              )
            end,
            V2 => Spec.new do |s|
              s.traces = Traces::API::Endpoint.new(
                '/v0.2/traces'.freeze,
                Encoding::JSONEncoder
              )
            end
          ].with_fallbacks(V4 => V3, V3 => V2)
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

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