Skip to content

Commit dd4d1dc

Browse files
<Vishal> Function mask_sensitive_data now cover list of dicts.
1 parent 23568ba commit dd4d1dc

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

drf_api_logger/utils.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,21 +56,23 @@ def mask_sensitive_data(data, mask_api_parameters=False):
5656
instead iterate over sensitive_keys and remove them from an api
5757
URL string.
5858
"""
59-
60-
if type(data) != dict:
61-
if mask_api_parameters and type(data) == str:
59+
if type(data) is not dict:
60+
if mask_api_parameters and type(data) is str:
6261
for sensitive_key in SENSITIVE_KEYS:
63-
data = re.sub('({}=)(.*?)($|&)'.format(sensitive_key), '\g<1>***FILTERED***\g<3>'.format(sensitive_key.upper()), data)
62+
data = re.sub('({}=)(.*?)($|&)'.format(sensitive_key),
63+
'\g<1>***FILTERED***\g<3>'.format(sensitive_key.upper()), data)
64+
# new code
65+
if type(data) is list:
66+
data = [mask_sensitive_data(item) for item in data]
6467
return data
65-
6668
for key, value in data.items():
6769
if key in SENSITIVE_KEYS:
6870
data[key] = "***FILTERED***"
6971

70-
if type(value) == dict:
72+
if type(value) is dict:
7173
data[key] = mask_sensitive_data(data[key])
7274

73-
if type(value) == list:
75+
if type(value) is list:
7476
data[key] = [mask_sensitive_data(item) for item in data[key]]
7577

7678
return data

0 commit comments

Comments
 (0)