File tree Expand file tree Collapse file tree 2 files changed +22
-3
lines changed Expand file tree Collapse file tree 2 files changed +22
-3
lines changed Original file line number Diff line number Diff line change @@ -27,9 +27,11 @@ def extract_dd_trace_context(event):
2727 """
2828 global dd_trace_context
2929 headers = event .get ('headers' , {})
30- trace_id = headers .get (TraceHeader .TRACE_ID )
31- parent_id = headers .get (TraceHeader .PARENT_ID )
32- sampling_priority = headers .get (TraceHeader .SAMPLING_PRIORITY )
30+ lowercase_headers = {k .lower (): v for k , v in headers .items ()}
31+
32+ trace_id = lowercase_headers .get (TraceHeader .TRACE_ID )
33+ parent_id = lowercase_headers .get (TraceHeader .PARENT_ID )
34+ sampling_priority = lowercase_headers .get (TraceHeader .SAMPLING_PRIORITY )
3335 if trace_id and parent_id and sampling_priority :
3436 dd_trace_context = {
3537 'trace-id' : trace_id ,
Original file line number Diff line number Diff line change @@ -88,6 +88,23 @@ def test_with_complete_datadog_trace_headers(self):
8888 XraySubsegment .NAMESPACE
8989 )
9090
91+ def test_with_complete_datadog_trace_headers_with_mixed_casing (self ):
92+ extract_dd_trace_context ({
93+ 'headers' : {
94+ 'X-Datadog-Trace-Id' : '123' ,
95+ 'X-Datadog-Parent-Id' : '321' ,
96+ 'X-Datadog-Sampling-Priority' : '1' ,
97+ }
98+ })
99+ self .assertDictEqual (
100+ get_dd_trace_context (),
101+ {
102+ TraceHeader .TRACE_ID : '123' ,
103+ TraceHeader .PARENT_ID : '65535' ,
104+ TraceHeader .SAMPLING_PRIORITY : '1' ,
105+ }
106+ )
107+
91108
92109class TestXRayContextConversion (unittest .TestCase ):
93110
You can’t perform that action at this time.
0 commit comments