| 123456789101112131415161718192021222324252627282930313233343536373839 |
- import json
- import httpx
- class HttpBase:
- @staticmethod
- async def http_stream(url, data, headers, timeout=300):
- async with httpx.AsyncClient(timeout=timeout) as client:
- async with client.stream("POST", url, json=data, headers=headers) as response:
- if response.status_code == 200:
- try:
- async for answer in response.aiter_text():
- yield answer
- except GeneratorExit as e:
- print(e)
- return
- else:
- yield f"Error: {response.status_code}"
- @staticmethod
- async def http_post(url, data, headers, timeout=300):
- async with httpx.AsyncClient(timeout=timeout) as client:
- response = await client.post(url, json=data, headers=headers)
- return response
- @staticmethod
- async def http_get(url, params, headers, timeout=300):
- async with httpx.AsyncClient(timeout=timeout) as client:
- response = await client.get(url, params=params, headers=headers)
- return response
- @staticmethod
- async def get_headers(token):
- return {
- 'Content-Type': 'application/json',
- 'Authorization': f'Bearer {token}'
- }
|