import httpx
|
from pycparser.ply.yacc import token
|
|
|
class ChatBase:
|
|
@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 = 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 = client.get(url, params=params, headers=headers)
|
return response
|
|
@staticmethod
|
async def get_headers(token):
|
headers = {
|
# 'Content-Type': 'application/json',
|
'Authorization': f'Bearer {token}'
|
}
|