mirror of
https://github.com/django/django.git
synced 2024-12-22 17:16:24 +00:00
Fixed #34428 -- Made ASGIStaticFilesHandler adapt response to async iterator.
Bug in 0bd2c0c901
.
This commit is contained in:
parent
a2eaea8f22
commit
02c356f2f3
@ -103,4 +103,13 @@ class ASGIStaticFilesHandler(StaticFilesHandlerMixin, ASGIHandler):
|
||||
async def get_response_async(self, request):
|
||||
response = await super().get_response_async(request)
|
||||
response._resource_closers.append(request.close)
|
||||
# FileResponse is not async compatible.
|
||||
if response.streaming and not response.is_async:
|
||||
_iterator = response.streaming_content
|
||||
|
||||
async def awrapper():
|
||||
for part in await sync_to_async(list)(_iterator):
|
||||
yield part
|
||||
|
||||
response.streaming_content = awrapper()
|
||||
return response
|
||||
|
@ -116,7 +116,6 @@ class ASGITest(SimpleTestCase):
|
||||
"django.contrib.staticfiles.finders.FileSystemFinder",
|
||||
],
|
||||
)
|
||||
@ignore_warnings(module="django.http.response")
|
||||
async def test_static_file_response(self):
|
||||
application = ASGIStaticFilesHandler(get_asgi_application())
|
||||
# Construct HTTP request.
|
||||
|
Loading…
Reference in New Issue
Block a user