1
0
Fork 0
mirror of https://github.com/Kozea/Radicale.git synced 2025-08-04 18:22:26 +00:00

add overseen conditional request_content debug log

This commit is contained in:
Peter Bieringer 2024-08-28 07:49:48 +02:00
parent 39662fc680
commit 4f1e8ce889

View file

@ -51,6 +51,7 @@ class ApplicationBase:
self._encoding = configuration.get("encoding", "request") self._encoding = configuration.get("encoding", "request")
self._log_bad_put_request_content = configuration.get("logging", "bad_put_request_content") self._log_bad_put_request_content = configuration.get("logging", "bad_put_request_content")
self._response_content_on_debug = configuration.get("logging", "response_content_on_debug") self._response_content_on_debug = configuration.get("logging", "response_content_on_debug")
self._request_content_on_debug = configuration.get("logging", "request_content_on_debug")
self._hook = hook.load(configuration) self._hook = hook.load(configuration)
def _read_xml_request_body(self, environ: types.WSGIEnviron def _read_xml_request_body(self, environ: types.WSGIEnviron
@ -66,17 +67,20 @@ class ApplicationBase:
logger.debug("Request content (Invalid XML):\n%s", content) logger.debug("Request content (Invalid XML):\n%s", content)
raise RuntimeError("Failed to parse XML: %s" % e) from e raise RuntimeError("Failed to parse XML: %s" % e) from e
if logger.isEnabledFor(logging.DEBUG): if logger.isEnabledFor(logging.DEBUG):
logger.debug("Request content:\n%s", if self._request_content_on_debug:
xmlutils.pretty_xml(xml_content)) logger.debug("Request content (XML):\n%s",
xmlutils.pretty_xml(xml_content))
else:
logger.debug("Request content (XML): suppressed by config/option [logging] request_content_on_debug")
return xml_content return xml_content
def _xml_response(self, xml_content: ET.Element) -> bytes: def _xml_response(self, xml_content: ET.Element) -> bytes:
if logger.isEnabledFor(logging.DEBUG): if logger.isEnabledFor(logging.DEBUG):
if self._response_content_on_debug: if self._response_content_on_debug:
logger.debug("Response content:\n%s", logger.debug("Response content (XML):\n%s",
xmlutils.pretty_xml(xml_content)) xmlutils.pretty_xml(xml_content))
else: else:
logger.debug("Response content: suppressed by config/option [logging] response_content_on_debug") logger.debug("Response content (XML): suppressed by config/option [logging] response_content_on_debug")
f = io.BytesIO() f = io.BytesIO()
ET.ElementTree(xml_content).write(f, encoding=self._encoding, ET.ElementTree(xml_content).write(f, encoding=self._encoding,
xml_declaration=True) xml_declaration=True)