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.
parent
509ce6c137
commit
f48792eec4
|
@ -132,6 +132,10 @@ class JsonResource(HttpServer, resource.Resource):
|
||||||
{"error": "Unrecognized request"}
|
{"error": "Unrecognized request"}
|
||||||
)
|
)
|
||||||
except CodeMessageException as e:
|
except CodeMessageException as e:
|
||||||
|
if isinstance(e, SynapseError):
|
||||||
|
logger.error("%s SynapseError: %s - %s", request, e.code,
|
||||||
|
e.msg)
|
||||||
|
else:
|
||||||
logger.exception(e)
|
logger.exception(e)
|
||||||
self._send_response(
|
self._send_response(
|
||||||
request,
|
request,
|
||||||
|
@ -147,6 +151,14 @@ class JsonResource(HttpServer, resource.Resource):
|
||||||
)
|
)
|
||||||
|
|
||||||
def _send_response(self, request, code, response_json_object):
|
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):
|
if not self._request_user_agent_is_curl(request):
|
||||||
json_bytes = encode_canonical_json(response_json_object)
|
json_bytes = encode_canonical_json(response_json_object)
|
||||||
|
|
Loading…
Reference in New Issue