import requests
import json
import traceback
from log import Log
from config import set_config
log_ = Log()
config_, env = set_config()


def request_post(request_url, headers, request_data):
    """
    post 请求 HTTP接口
    :param request_url: 接口URL
    :param headers: 请求头
    :param request_data: 请求参数
    :return: res_data json格式
    """
    try:
        response = requests.post(url=request_url, json=request_data, headers=headers)
        if response.status_code == 200:
            res_data = json.loads(response.text)
            return res_data
        else:
            return None
    except Exception as e:
        log_.error('url: {}, exception: {}, traceback: {}'.format(request_url, e, traceback.format_exc()))
        return None


def request_get(request_url, headers, params=None):
    """
    get 请求 HTTP接口
    :param request_url: 接口URL
    :param headers: 请求头
    :param params: 请求参数
    :return: res_data json格式
    """
    try:
        response = requests.get(url=request_url, headers=headers, params=params)
        if response.status_code == 200:
            res_data = json.loads(response.text)
            return res_data
        else:
            return None
    except Exception as e:
        log_.error('url: {}, exception: {}, traceback: {}'.format(request_url, e, traceback.format_exc()))
        return None