Sha256: 14ea1a044ecc091582da802dd3476477e552639eccdbe326ad9457b5595ae8c1
Contents?: true
Size: 911 Bytes
Versions: 16
Compression:
Stored size: 911 Bytes
Contents
require 'ddtrace/ext/http' module Datadog module Contrib module Sinatra # Gets and sets trace information from a Rack Env module Env ENV_SPAN = 'datadog.sinatra_request_span'.freeze module_function def datadog_span(env) env[ENV_SPAN] end def set_datadog_span(env, span) env[ENV_SPAN] = span end def request_header_tags(env, headers) headers ||= [] {}.tap do |result| headers.each do |header| rack_header = header_to_rack_header(header) if env.key?(rack_header) result[Datadog::Ext::HTTP::RequestHeaders.to_tag(header)] = env[rack_header] end end end end def header_to_rack_header(name) "HTTP_#{name.to_s.upcase.gsub(/[-\s]/, '_')}" end end end end end
Version data entries
16 entries across 16 versions & 1 rubygems