20 lines
432 B
Python
20 lines
432 B
Python
from __future__ import annotations
|
|
|
|
import httpx
|
|
|
|
_client: httpx.AsyncClient | None = None
|
|
|
|
|
|
async def get_http_client() -> httpx.AsyncClient:
|
|
global _client
|
|
if _client is None or _client.is_closed:
|
|
_client = httpx.AsyncClient(timeout=30.0)
|
|
return _client
|
|
|
|
|
|
async def close_http_client() -> None:
|
|
global _client
|
|
if _client and not _client.is_closed:
|
|
await _client.aclose()
|
|
_client = None
|