mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-11-14 23:10:40 -05:00
Convert more of the media code to async/await (#7873)
This commit is contained in:
parent
6a080ea184
commit
5ea29d7f85
4 changed files with 47 additions and 34 deletions
|
|
@ -18,7 +18,6 @@ import logging
|
|||
import os
|
||||
import urllib
|
||||
|
||||
from twisted.internet import defer
|
||||
from twisted.protocols.basic import FileSender
|
||||
|
||||
from synapse.api.errors import Codes, SynapseError, cs_error
|
||||
|
|
@ -77,8 +76,9 @@ def respond_404(request):
|
|||
)
|
||||
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def respond_with_file(request, media_type, file_path, file_size=None, upload_name=None):
|
||||
async def respond_with_file(
|
||||
request, media_type, file_path, file_size=None, upload_name=None
|
||||
):
|
||||
logger.debug("Responding with %r", file_path)
|
||||
|
||||
if os.path.isfile(file_path):
|
||||
|
|
@ -89,7 +89,7 @@ def respond_with_file(request, media_type, file_path, file_size=None, upload_nam
|
|||
add_file_headers(request, media_type, file_size, upload_name)
|
||||
|
||||
with open(file_path, "rb") as f:
|
||||
yield make_deferred_yieldable(FileSender().beginFileTransfer(f, request))
|
||||
await make_deferred_yieldable(FileSender().beginFileTransfer(f, request))
|
||||
|
||||
finish_request(request)
|
||||
else:
|
||||
|
|
@ -198,8 +198,9 @@ def _can_encode_filename_as_token(x):
|
|||
return True
|
||||
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def respond_with_responder(request, responder, media_type, file_size, upload_name=None):
|
||||
async def respond_with_responder(
|
||||
request, responder, media_type, file_size, upload_name=None
|
||||
):
|
||||
"""Responds to the request with given responder. If responder is None then
|
||||
returns 404.
|
||||
|
||||
|
|
@ -218,7 +219,7 @@ def respond_with_responder(request, responder, media_type, file_size, upload_nam
|
|||
add_file_headers(request, media_type, file_size, upload_name)
|
||||
try:
|
||||
with responder:
|
||||
yield responder.write_to_consumer(request)
|
||||
await responder.write_to_consumer(request)
|
||||
except Exception as e:
|
||||
# The majority of the time this will be due to the client having gone
|
||||
# away. Unfortunately, Twisted simply throws a generic exception at us
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue