File size: 998 Bytes
912f746
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import aiohttp


async def download_file_for_task(task_id: str, api_base_url: str) -> bytes:
    """
    Asynchronously downloads a specific file associated with a given task ID.
    This function performs a GET request to the endpoint /files/{task_id}.

    Args:
        task_id: The identifier of the task for which to download the file.
        api_base_url: The base URL of the API.

    Returns:
        The content of the file as bytes.

    Raises:
        aiohttp.ClientResponseError: If the API returns an error status (e.g., 404 Not Found, 500 Internal Server Error).
        aiohttp.ClientError: For other client-side errors, such as network connection issues.
    """
    url = f"{api_base_url}/files/{task_id}"
    async with aiohttp.ClientSession() as session:
        async with session.get(url) as response:
            response.raise_for_status()  # Raise an exception for HTTP error codes (4xx or 5xx)
            file_bytes = await response.read()
            return file_bytes