patches/LongRequestLogger_dumper: fix printing WSGI requests
Fix a regression from 334964a43a (LongRequestLogger: fix long request file content, 2025-07-14), in the tests, Testing.makerequest uses a "traditional" HTTPRequest an HTTPResponse, but when running in production we have an WSGIResponse, for which str raises NotImplementedError, causing the log to be unusable with error like:
2025-07-17 15:17:09,266 - Thread 139661498365632: Started on 1752758227.6; Running for 1.6 secs; [Unprintable request]
Traceback (most recent call last):
File "./parts/erp5/product/ERP5Type/patches/LongRequestLogger_dumper.py", line 61, in _format_request
"other": _format_request_dict(request.other),
File "./parts/erp5/product/ERP5Type/patches/LongRequestLogger_dumper.py", line 40, in _format_request_dict
d['RESPONSE'] = str(d['RESPONSE'])[:256]
File "./eggs/Zope-4.8.11+slapospatched002-py2.7.egg/ZPublisher/HTTPResponse.py", line 1122, in __str__
raise NotImplementedError
NotImplementedError
This fixes by using repr
which works and by wrapping in a try except
for extra safety.