mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Fixed #34428 -- Made ASGIStaticFilesHandler adapt response to async iterator.
Bug in 0bd2c0c901.
			
			
This commit is contained in:
		| @@ -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. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user