Skip to content

Commit 3d9451f

Browse files
committed
Address the encoding issue raised by warden
1 parent 976c97d commit 3d9451f

3 files changed

Lines changed: 6 additions & 5 deletions

File tree

sentry_sdk/integrations/aws_lambda.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from datetime import datetime, timedelta, timezone
77
from os import environ
88
from typing import TYPE_CHECKING
9+
from urllib.parse import urlencode
910

1011
import sentry_sdk
1112
from sentry_sdk.api import continue_trace
@@ -166,9 +167,7 @@ def sentry_handler(
166167
if should_send_default_pii() and "queryStringParameters" in request_data:
167168
qs = request_data["queryStringParameters"]
168169
if qs:
169-
additional_attributes["url.query"] = "&".join(
170-
f"{k}={v}" for k, v in qs.items()
171-
)
170+
additional_attributes["url.query"] = urlencode(qs)
172171

173172
sampling_context = {
174173
"aws_event": aws_event,

tests/integrations/aws_lambda/test_aws_lambda.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -672,7 +672,7 @@ def test_span_streaming_request_attributes(lambda_client, test_environment):
672672
"Accept": "text/html",
673673
},
674674
"httpMethod": "POST",
675-
"queryStringParameters": {"foo": "bar"},
675+
"queryStringParameters": {"foo": "bar", "a-complicated-value": "a=b&c=d"},
676676
"path": "/test",
677677
}
678678

@@ -688,7 +688,7 @@ def test_span_streaming_request_attributes(lambda_client, test_environment):
688688
attrs = segment_span["attributes"]
689689

690690
assert _get_span_attr(attrs, "http.request.method") == "POST"
691-
assert _get_span_attr(attrs, "url.query") == "foo=bar"
691+
assert _get_span_attr(attrs, "url.query") == "foo=bar&a-complicated-value=a%3Db%26c%3Dd"
692692
assert (
693693
_get_span_attr(attrs, "http.request.header.content-type") == "application/json"
694694
)

tox.ini

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)