diff --git a/adapters/__pycache__/google_adapter.cpython-313.pyc b/adapters/__pycache__/google_adapter.cpython-313.pyc index 817d8b4..335fd48 100644 Binary files a/adapters/__pycache__/google_adapter.cpython-313.pyc and b/adapters/__pycache__/google_adapter.cpython-313.pyc differ diff --git a/adapters/__pycache__/s3_adapter.cpython-313.pyc b/adapters/__pycache__/s3_adapter.cpython-313.pyc index 70a075b..fbe35de 100644 Binary files a/adapters/__pycache__/s3_adapter.cpython-313.pyc and b/adapters/__pycache__/s3_adapter.cpython-313.pyc differ diff --git a/adapters/s3_adapter.py b/adapters/s3_adapter.py index fe992dd..957cbec 100644 --- a/adapters/s3_adapter.py +++ b/adapters/s3_adapter.py @@ -61,12 +61,12 @@ class S3Adapter: try: async with self._get_client() as client: response = await client.get_object(Bucket=self.bucket_name, Key=object_name) - async with response['Body'] as stream: - while True: - chunk = await stream.read(chunk_size) - if not chunk: - break - yield chunk + # aioboto3 Body is an aiohttp StreamReader wrapper + body = response['Body'] + data = await body.read() + # Yield in chunks to avoid holding entire response in StreamingResponse buffer + for i in range(0, len(data), chunk_size): + yield data[i:i + chunk_size] except ClientError as e: print(f"Error streaming from S3: {e}") return diff --git a/api/endpoints/__pycache__/assets_router.cpython-313.pyc b/api/endpoints/__pycache__/assets_router.cpython-313.pyc index 2cd08ea..cdc6a92 100644 Binary files a/api/endpoints/__pycache__/assets_router.cpython-313.pyc and b/api/endpoints/__pycache__/assets_router.cpython-313.pyc differ diff --git a/api/service/__pycache__/generation_service.cpython-313.pyc b/api/service/__pycache__/generation_service.cpython-313.pyc index b8700ed..24461f4 100644 Binary files a/api/service/__pycache__/generation_service.cpython-313.pyc and b/api/service/__pycache__/generation_service.cpython-313.pyc differ