11from __future__ import annotations
22
33import base64
4- from typing import Any
4+ from typing import Any , Dict
55
66
77def base64_decode (value : str ) -> str :
@@ -63,7 +63,7 @@ def get_header_value(
6363
6464
6565def get_query_string_value (
66- query_string_parameters : dict [str , str ] | None ,
66+ query_string_parameters : Dict [str , str ] | None ,
6767 name : str ,
6868 default_value : str | None = None ,
6969) -> str | None :
@@ -84,3 +84,30 @@ def get_query_string_value(
8484 """
8585 params = query_string_parameters
8686 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