[7.x] Allow for passing params=None or headers=None
This commit is contained in:
committed by
GitHub
parent
1915592363
commit
06521cf006
@@ -68,14 +68,12 @@ def query_params(*es_query_params):
|
||||
def _wrapper(func):
|
||||
@wraps(func)
|
||||
def _wrapped(*args, **kwargs):
|
||||
params = {}
|
||||
headers = {}
|
||||
if "params" in kwargs:
|
||||
params = kwargs.pop("params").copy()
|
||||
if "headers" in kwargs:
|
||||
headers = {
|
||||
k.lower(): v for k, v in (kwargs.pop("headers") or {}).items()
|
||||
}
|
||||
params = (kwargs.pop("params", None) or {}).copy()
|
||||
headers = {
|
||||
k.lower(): v
|
||||
for k, v in (kwargs.pop("headers", None) or {}).copy().items()
|
||||
}
|
||||
|
||||
if "opaque_id" in kwargs:
|
||||
headers["x-opaque-id"] = kwargs.pop("opaque_id")
|
||||
|
||||
|
||||
@@ -42,6 +42,22 @@ class TestQueryParams(TestCase):
|
||||
self.calls, [((), {"params": {}, "headers": {"x-opaque-id": "request-id"}})]
|
||||
)
|
||||
|
||||
def test_handles_empty_none_and_normalization(self):
|
||||
self.func_to_wrap(params=None)
|
||||
self.assertEqual(self.calls[-1], ((), {"params": {}, "headers": {}}))
|
||||
|
||||
self.func_to_wrap(headers=None)
|
||||
self.assertEqual(self.calls[-1], ((), {"params": {}, "headers": {}}))
|
||||
|
||||
self.func_to_wrap(headers=None, params=None)
|
||||
self.assertEqual(self.calls[-1], ((), {"params": {}, "headers": {}}))
|
||||
|
||||
self.func_to_wrap(headers={}, params={})
|
||||
self.assertEqual(self.calls[-1], ((), {"params": {}, "headers": {}}))
|
||||
|
||||
self.func_to_wrap(headers={"X": "y"})
|
||||
self.assertEqual(self.calls[-1], ((), {"params": {}, "headers": {"x": "y"}}))
|
||||
|
||||
|
||||
class TestMakePath(TestCase):
|
||||
def test_handles_unicode(self):
|
||||
|
||||
Reference in New Issue
Block a user