Skip to content

Commit 64cb8a6

Browse files
committed
add rbs
1 parent bf52570 commit 64cb8a6

File tree

2 files changed

+32
-8
lines changed

2 files changed

+32
-8
lines changed

lib/datadog/tracing/distributed/baggage.rb

+4-8
Original file line numberDiff line numberDiff line change
@@ -103,21 +103,17 @@ def parse_baggage_header(baggage_header)
103103
baggage = {}
104104
baggages = baggage_header.split(',')
105105
baggages.each do |key_value|
106-
next unless key_value.include?('=')
107-
108106
key, value = key_value.split('=', 2)
109-
key = decode_and_preserve_safe_characters(key.strip, SAFE_CHARACTERS_KEY)
110-
value = decode_and_preserve_safe_characters(value.strip, SAFE_CHARACTERS_VALUE)
107+
next unless key && value
108+
109+
key = URI.decode_www_form_component(key.strip)
110+
value = URI.decode_www_form_component(value.strip)
111111
next if key.empty? || value.empty?
112112

113113
baggage[key] = value
114114
end
115115
baggage
116116
end
117-
118-
def decode_and_preserve_safe_characters(str, _safe_characters)
119-
URI.decode_www_form_component(str)
120-
end
121117
end
122118
end
123119
end
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
module Datadog
2+
module Tracing
3+
module Distributed
4+
class Baggage
5+
BAGGAGE_KEY : "baggage"
6+
DD_TRACE_BAGGAGE_MAX_ITEMS : 64
7+
DD_TRACE_BAGGAGE_MAX_BYTES : 8192
8+
SAFE_CHARACTERS_KEY : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789$!#&'*+-.^_`|~"
9+
SAFE_CHARACTERS_VALUE : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789$!#&'()*+-./:<>?@[]^_`{|}~"
10+
11+
def initialize: (fetcher: untyped, baggage_key: string) -> void
12+
13+
def inject!: (untyped digest, untyped data) -> (nil | untyped)
14+
15+
def extract: (untyped data) -> (nil | untyped)
16+
17+
18+
private
19+
20+
def encode_key: (String key) -> string
21+
22+
def encode_value: (String key) -> string
23+
24+
def parse_baggage_header: (String baggage_header) -> hash[string, string]
25+
end
26+
end
27+
end
28+
end

0 commit comments

Comments
 (0)