File size: 814 Bytes
da5e53f 9b6aa92 da5e53f 9b6aa92 da5e53f |
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 27 28 29 30 |
import httpx, uuid, os
from typing import Optional, Union
from dotenv import load_dotenv
from src.libs.logger import logger
load_dotenv()
rpc_server_url = os.getenv('CHATXBT_RPC_SERVER_URL')
async def rpc_call(method_name, params: Optional[Union[dict, list]] = {}, url: str = rpc_server_url):
headers = {
'Content-Type': 'application/json',
}
payload = {
'method': method_name,
'params': params,
'jsonrpc': '2.0',
'id': str(uuid.uuid4()),
}
try:
async with httpx.AsyncClient() as client:
response = await client.post(url, json=payload, headers=headers)
response.raise_for_status()
return response.json()
except httpx.RequestError as e:
print(f"Error making RPC call: {e}")
return None
|