mirror of
https://mau.dev/maunium/synapse.git
synced 2025-03-05 01:00:21 +01:00
Reduce the amount of incredibly spammy stack traces. Expected errors (e.g. SynapseErrors) shouldn't have their full trace logged every time. Don't send responses to disconnected requests.
This commit is contained in:
parent
509ce6c137
commit
f48792eec4
1 changed files with 13 additions and 1 deletions
|
@ -132,7 +132,11 @@ class JsonResource(HttpServer, resource.Resource):
|
|||
{"error": "Unrecognized request"}
|
||||
)
|
||||
except CodeMessageException as e:
|
||||
logger.exception(e)
|
||||
if isinstance(e, SynapseError):
|
||||
logger.error("%s SynapseError: %s - %s", request, e.code,
|
||||
e.msg)
|
||||
else:
|
||||
logger.exception(e)
|
||||
self._send_response(
|
||||
request,
|
||||
e.code,
|
||||
|
@ -147,6 +151,14 @@ class JsonResource(HttpServer, resource.Resource):
|
|||
)
|
||||
|
||||
def _send_response(self, request, code, response_json_object):
|
||||
# could alternatively use request.notifyFinish() and flip a flag when
|
||||
# the Deferred fires, but since the flag is RIGHT THERE it seems like
|
||||
# a waste.
|
||||
if request._disconnected:
|
||||
logger.warn(
|
||||
"Not sending response to request %s, already disconnected.",
|
||||
request)
|
||||
return
|
||||
|
||||
if not self._request_user_agent_is_curl(request):
|
||||
json_bytes = encode_canonical_json(response_json_object)
|
||||
|
|
Loading…
Add table
Reference in a new issue