summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2021-09-17 17:12:38 +0100
committerErik Johnston <erik@matrix.org>2021-09-17 17:12:38 +0100
commitc2d84edffc47f36fd2034e112efbab08d59d3e8b (patch)
tree85128c3d16bf79ad685b338250218b115d14770e
parentFix tests (diff)
downloadsynapse-c2d84edffc47f36fd2034e112efbab08d59d3e8b.tar.xz
Don't create temporary function
-rw-r--r--synapse/http/server.py21
1 files changed, 10 insertions, 11 deletions
diff --git a/synapse/http/server.py b/synapse/http/server.py

index 07029e670c..ece71c78b2 100644 --- a/synapse/http/server.py +++ b/synapse/http/server.py
@@ -669,7 +669,9 @@ def respond_with_json( if send_cors: set_cors_headers(request) - _write_json_to_request_in_thread(request, encoder, json_object) + run_in_background( + _async_write_json_to_request_in_thread, request, encoder, json_object + ) return NOT_DONE_YET @@ -810,7 +812,7 @@ def finish_request(request: Request): logger.info("Connection disconnected before response was written: %r", e) -def _write_json_to_request_in_thread( +async def _async_write_json_to_request_in_thread( request: SynapseRequest, json_encoder: Callable[[Any], str], json_object: Any, @@ -826,13 +828,10 @@ def _write_json_to_request_in_thread( expensive. """ - async def _inner_encode_in_thread(): - json_str = await defer_to_thread(request.reactor, json_encoder, json_object) - - try: - request.write(json_str) - request.finish() - except RuntimeError as e: - logger.info("Connection disconnected before response was written: %r", e) + json_str = await defer_to_thread(request.reactor, json_encoder, json_object) - run_in_background(_inner_encode_in_thread) + try: + request.write(json_str) + request.finish() + except RuntimeError as e: + logger.info("Connection disconnected before response was written: %r", e)