This commit is contained in:
Oscar Krause 2024-11-22 14:19:51 +01:00
parent 53c88a79ac
commit afb38d628b

View File

@ -23,17 +23,17 @@ class PatchMalformedJsonMiddleware(BaseHTTPMiddleware):
if self.enabled and content_type == 'application/json':
logger.debug(f'Using Request-Patch because "PatchMalformedJsonMiddleware" is enabled!')
body = body.decode()
# try to fix json
body = body.decode()
try:
j = json.loads(body)
self.fix_mac_address_list_length(j=j, size=1)
except json.decoder.JSONDecodeError:
logger.warning(f'Malformed json received! Try to fix it.')
s = PatchMalformedJsonMiddleware.fix_json(body)
logger.debug(f'Fixed JSON: "{s}"')
j = json.loads(s) # ensure json is now valid
body = PatchMalformedJsonMiddleware.fix_json(body)
logger.debug(f'Fixed JSON: "{body}"')
j = json.loads(body) # ensure json is now valid
j = self.fix_mac_address_list_length(j=j, size=1)
# set new body
request._body = json.dumps(j).encode('utf-8')