|
1 | 1 | from functools import cached_property
|
2 |
| -from typing import Any, Dict, Optional, overload |
| 2 | +from typing import Any, Dict, List, Optional, overload |
3 | 3 |
|
4 | 4 | from aws_lambda_powertools.shared.headers_serializer import (
|
5 | 5 | BaseHeadersSerializer,
|
@@ -73,17 +73,15 @@ def get_header_value(
|
73 | 73 | name: str,
|
74 | 74 | default_value: str,
|
75 | 75 | case_sensitive: Optional[bool] = False,
|
76 |
| - ) -> str: |
77 |
| - ... |
| 76 | + ) -> str: ... |
78 | 77 |
|
79 | 78 | @overload
|
80 | 79 | def get_header_value(
|
81 | 80 | self,
|
82 | 81 | name: str,
|
83 | 82 | default_value: Optional[str] = None,
|
84 | 83 | case_sensitive: Optional[bool] = False,
|
85 |
| - ) -> Optional[str]: |
86 |
| - ... |
| 84 | + ) -> Optional[str]: ... |
87 | 85 |
|
88 | 86 | def get_header_value(
|
89 | 87 | self,
|
@@ -141,8 +139,11 @@ def query_string_parameters(self) -> Dict[str, str]:
|
141 | 139 | return self["query_string_parameters"]
|
142 | 140 |
|
143 | 141 | @property
|
144 |
| - def resolved_query_string_parameters(self) -> Optional[Dict[str, str]]: |
145 |
| - return self.query_string_parameters |
| 142 | + def resolved_query_string_parameters(self) -> Optional[Dict[str, List[str]]]: |
| 143 | + if self.query_string_parameters is not None: |
| 144 | + query_string = {key: value.split(",") for key, value in self.query_string_parameters.items()} |
| 145 | + return query_string |
| 146 | + return None |
146 | 147 |
|
147 | 148 | @property
|
148 | 149 | def resolved_headers_field(self) -> Optional[Dict[str, Any]]:
|
@@ -264,8 +265,14 @@ def query_string_parameters(self) -> Optional[Dict[str, str]]:
|
264 | 265 | return self.get("queryStringParameters")
|
265 | 266 |
|
266 | 267 | @property
|
267 |
| - def resolved_query_string_parameters(self) -> Optional[Dict[str, str]]: |
268 |
| - return self.query_string_parameters |
| 268 | + def resolved_query_string_parameters(self) -> Optional[Dict[str, List[str]]]: |
| 269 | + if self.query_string_parameters is not None: |
| 270 | + query_string = { |
| 271 | + key: value.split(",") if not isinstance(value, list) else value |
| 272 | + for key, value in self.query_string_parameters.items() |
| 273 | + } |
| 274 | + return query_string |
| 275 | + return None |
269 | 276 |
|
270 | 277 | @property
|
271 | 278 | def resolved_headers_field(self) -> Optional[Dict[str, str]]:
|
|
0 commit comments