Skip to content

Commit 549f7f8

Browse files
authored
Fix error when APIGateway headers are None (#259)
* Don't error when headers are None * Fix formatting of file
1 parent 0b33500 commit 549f7f8

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

datadog_lambda/tracing.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ def extract_context_from_http_event_or_context(event, lambda_context):
174174
175175
Falls back to lambda context if no trace data is found in the `headers`
176176
"""
177-
headers = event.get("headers", {})
177+
headers = event.get("headers", {}) or {}
178178
lowercase_headers = {k.lower(): v for k, v in headers.items()}
179179

180180
trace_id = lowercase_headers.get(TraceHeader.TRACE_ID)

tests/test_tracing.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1237,3 +1237,11 @@ def test_mark_trace_as_error_for_5xx_responses_sends_error_metric_and_set_error_
12371237
)
12381238
mock_submit_errors_metric.assert_called_once()
12391239
self.assertEqual(1, mock_span.error)
1240+
1241+
def test_no_error_with_nonetype_headers(self):
1242+
lambda_ctx = get_mock_context()
1243+
ctx, source = extract_dd_trace_context(
1244+
{"headers": None},
1245+
lambda_ctx,
1246+
)
1247+
self.assertEqual(ctx, None)

0 commit comments

Comments
 (0)