Newer
Older
safe-algo-pro / common / http_utils.py
import json

import requests

from common.global_logger import logger
import aiohttp


async def send_request_async(push_url, data):
    try:
        headers = {"Content-Type": "application/json"}
        async with aiohttp.ClientSession() as session:
            logger.info(f"Push to {push_url}, data = {data}")
            async with session.post(push_url, json=data, headers=headers) as response:
                response_text = await response.text()
                logger.info(f"Response: {response.status}, {response_text}")
    except aiohttp.ClientError as e:
        logger.error(f"Failed to push data: {e}")


def send_request(push_url, data, log_data = None):
    try:
        if log_data is None:
            log_data = data
        logger.info(f"Push to {push_url}, data = {log_data}")
        response = requests.post(push_url, json=data)
        logger.info(f"Response: {response.status_code}, {response.text}")
    except requests.RequestException as e:
        logger.error(f"Failed to push data: {e}")


def get_request(url, headers=None, timeout=10):
    try:
        response = requests.get(url, headers=headers, timeout=timeout)
        return response.json()
    except requests.RequestException as e:
        logger.error(f"Failed to get data: {e}")