Sha256: 23a539204e015317fe808333a77ce89fafccae97b2c34d5e4d827b6e0121e82d
Contents?: true
Size: 1.17 KB
Versions: 3
Compression:
Stored size: 1.17 KB
Contents
# frozen_string_literal: true require_relative '../../../../ddtrace/transport/http/env' # TODO: Decouple transport/http/client # # The standard one does `include Transport::HTTP::Statistics` and performs # stats updates, which may or may not be desirable in general. module Datadog module Core module Transport module HTTP # Routes, encodes, and sends tracer data to the trace agent via HTTP. class Client attr_reader :api def initialize(api) @api = api end def send_request(request, &block) # Build request into env env = build_env(request) # Get responses from API yield(api, env) rescue StandardError => e message = "Internal error during #{self.class.name} request. Cause: #{e.class.name} #{e.message} " \ "Location: #{Array(e.backtrace).first}" Datadog.logger.debug(message) Datadog::Transport::InternalErrorResponse.new(e) end def build_env(request) Datadog::Transport::HTTP::Env.new(request) end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ddtrace-1.14.0 | lib/datadog/core/transport/http/client.rb |
ddtrace-1.13.1 | lib/datadog/core/transport/http/client.rb |
ddtrace-1.13.0 | lib/datadog/core/transport/http/client.rb |