Sha256: cb9b9144aebfadc2cc7d25e5efc025e39414debc61fac66dee6b13376f481aad

Contents?: true

Size: 1.31 KB

Versions: 7

Compression:

Stored size: 1.31 KB

Contents

# frozen_string_literal: true

require_relative "ci_test_cycle"
require_relative "evp_proxy"
require_relative "../http"
require_relative "../../ext/transport"

module Datadog
  module CI
    module Transport
      module Api
        module Builder
          def self.build_ci_test_cycle_api(settings)
            dd_site = settings.site || Ext::Transport::DEFAULT_DD_SITE
            url = settings.ci.agentless_url ||
              "https://#{Ext::Transport::TEST_VISIBILITY_INTAKE_HOST_PREFIX}.#{dd_site}:443"

            uri = URI.parse(url)
            raise "Invalid agentless mode URL: #{url}" if uri.host.nil?

            http = Datadog::CI::Transport::HTTP.new(
              host: uri.host,
              port: uri.port,
              ssl: uri.scheme == "https" || uri.port == 443,
              compress: true
            )

            CiTestCycle.new(api_key: settings.api_key, http: http)
          end

          def self.build_evp_proxy_api(agent_settings)
            http = Datadog::CI::Transport::HTTP.new(
              host: agent_settings.hostname,
              port: agent_settings.port,
              ssl: agent_settings.ssl,
              timeout: agent_settings.timeout_seconds,
              compress: false
            )

            EvpProxy.new(http: http)
          end
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
datadog-ci-0.7.0 lib/datadog/ci/transport/api/builder.rb
datadog-ci-0.6.0 lib/datadog/ci/transport/api/builder.rb
datadog-ci-0.5.1 lib/datadog/ci/transport/api/builder.rb
datadog-ci-0.5.0 lib/datadog/ci/transport/api/builder.rb
datadog-ci-0.4.1 lib/datadog/ci/transport/api/builder.rb
datadog-ci-0.4.0 lib/datadog/ci/transport/api/builder.rb
datadog-ci-0.3.0 lib/datadog/ci/transport/api/builder.rb