Support QueryParams(None) (#1060)

This commit is contained in:
Tom Christie 2020-07-16 11:16:29 +01:00 committed by GitHub
parent ccd4711a0a
commit ff93a011a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 5 additions and 4 deletions

View File

@ -73,9 +73,6 @@ class BaseClient:
else:
self.base_url = URL(base_url)
if params is None:
params = {}
self.auth = auth
self._params = QueryParams(params)
self._headers = Headers(headers)

View File

@ -287,7 +287,7 @@ class QueryParams(typing.Mapping[str, str]):
value = args[0] if args else kwargs
items: typing.Sequence[typing.Tuple[str, PrimitiveData]]
if isinstance(value, str):
if value is None or isinstance(value, str):
items = parse_qsl(value)
elif isinstance(value, QueryParams):
items = value.multi_items()

View File

@ -34,6 +34,7 @@ QueryParamTypes = Union[
Mapping[str, Union[PrimitiveData, Sequence[PrimitiveData]]],
List[Tuple[str, PrimitiveData]],
str,
None,
]
HeaderTypes = Union[

View File

@ -44,6 +44,9 @@ def test_queryparams(source):
def test_queryparam_types():
q = QueryParams(None)
assert str(q) == ""
q = QueryParams({"a": True})
assert str(q) == "a=true"