From 9f95928ba52da755c6876f502d055729d6acb2ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elan=20Ruusam=C3=A4e?= Date: Thu, 3 Feb 2022 02:35:58 +0200 Subject: [PATCH] Skip empty body decode/encode in normalize_json_body There's no point to decode/encode empty input. It will always fail and original be returned. --- requests_cache/cache_keys.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/requests_cache/cache_keys.py b/requests_cache/cache_keys.py index 2258d495..47de03bb 100644 --- a/requests_cache/cache_keys.py +++ b/requests_cache/cache_keys.py @@ -161,6 +161,10 @@ def normalize_json_body( original_body: Union[str, bytes], ignored_parameters: ParamList ) -> Union[str, bytes]: """Normalize and filter a request body with serialized JSON data""" + + if len(original_body) == 0: + return original_body + try: body = json.loads(decode(original_body)) body = filter_sort_dict(body, ignored_parameters)