diff --git a/tests/tests.py b/tests/tests.py index 831574606..bc0d73e21 100644 --- a/tests/tests.py +++ b/tests/tests.py @@ -751,6 +751,19 @@ def test_wsgi_path_info_unquoted(self): } request = create_wsgi_request(event, trailing_slash=True) self.assertEqual("/path:1", request["PATH_INFO"]) + + def test_wsgi_query_string_unquoted(self): + event = { + "body": {}, + "headers": {}, + "pathParameters": {}, + "path": "/path/path1", + "httpMethod": "GET", + "queryStringParameters": {"a": "A,B", "b": "C#D"}, + "requestContext": {} + } + request = create_wsgi_request(event) + self.assertEqual(request["QUERY_STRING"], "a=A,B&b=C#D") def test_wsgi_latin1(self): event = { diff --git a/zappa/wsgi.py b/zappa/wsgi.py index d2300bc3b..4220c053f 100644 --- a/zappa/wsgi.py +++ b/zappa/wsgi.py @@ -45,6 +45,7 @@ def create_wsgi_request( else: query = event_info.get("queryStringParameters", {}) query_string = urlencode(query) if query else "" + query_string = urls.url_unquote(query_string) if context_header_mappings: for key, value in context_header_mappings.items():