1
1
from __future__ import annotations
2
2
3
3
import base64
4
- from typing import Any
4
+ from typing import Any , Dict
5
5
6
6
7
7
def base64_decode (value : str ) -> str :
@@ -63,7 +63,7 @@ def get_header_value(
63
63
64
64
65
65
def get_query_string_value (
66
- query_string_parameters : dict [str , str ] | None ,
66
+ query_string_parameters : Dict [str , str ] | None ,
67
67
name : str ,
68
68
default_value : str | None = None ,
69
69
) -> str | None :
@@ -84,3 +84,30 @@ def get_query_string_value(
84
84
"""
85
85
params = query_string_parameters
86
86
return default_value if params is None else params .get (name , default_value )
87
+
88
+
89
+ def get_multi_value_query_string_values (
90
+ multi_value_query_string_parameters : Dict [str , list [str ]] | None ,
91
+ name : str ,
92
+ default_values : list [str ] | None = None ,
93
+ ) -> list [str ]:
94
+ """
95
+ Retrieves the values of a multi-value string parameters specified by the given name.
96
+
97
+ Parameters
98
+ ----------
99
+ name: str
100
+ The name of the query string parameter to retrieve.
101
+ default_value: list[str], optional
102
+ The default value to return if the parameter is not found. Defaults to None.
103
+
104
+ Returns
105
+ -------
106
+ List[str]. optional
107
+ The values of the query string parameter if found, or the default values if not found.
108
+ """
109
+
110
+ default = default_values or []
111
+ params = multi_value_query_string_parameters or {}
112
+
113
+ return params .get (name ) or default
0 commit comments