mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-07-31 12:58:40 -04:00
SYN-229: Include Content-Length when downloading files
This commit is contained in:
parent
0e93e01fcb
commit
3c8c3bf3b7
3 changed files with 23 additions and 7 deletions
|
@ -201,7 +201,8 @@ class BaseMediaResource(Resource):
|
|||
defer.returnValue(media_info)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def _respond_with_file(self, request, media_type, file_path):
|
||||
def _respond_with_file(self, request, media_type, file_path,
|
||||
file_size=None):
|
||||
logger.debug("Responding with %r", file_path)
|
||||
|
||||
if os.path.isfile(file_path):
|
||||
|
@ -215,13 +216,20 @@ class BaseMediaResource(Resource):
|
|||
request.setHeader(
|
||||
b"Cache-Control", b"public,max-age=86400,s-maxage=86400"
|
||||
)
|
||||
if file_size is None:
|
||||
stat = os.stat(file_path)
|
||||
file_size = stat.st_size
|
||||
|
||||
request.setHeader(
|
||||
b"Content-Length", b"%d" % (file_size,)
|
||||
)
|
||||
|
||||
with open(file_path, "rb") as f:
|
||||
yield FileSender().beginFileTransfer(f, request)
|
||||
|
||||
request.finish()
|
||||
else:
|
||||
self._respond_404()
|
||||
self._respond_404(request)
|
||||
|
||||
def _get_thumbnail_requirements(self, media_type):
|
||||
if media_type == "image/jpeg":
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue