import requests


def get(url,  token):
    try:
        headers = {'Content-Type': 'application/json;charset:utf-8;', 'Authorization': token}
        result = requests.get(url, headers=headers)
        if result.status_code == 200:
            resp=result.content.decode()
            return resp
    except Exception as e:
        raise e

    raise IOError("API return error")


def put(url, param, token):
    try:
        headers = {'Content-Type': 'application/json;charset:utf-8;', 'Authorization': token}
        result = requests.put(url, headers=headers, data=param)
        if result.status_code == 200:
            resp=result.content.decode()
            return resp
    except Exception as e:
        raise e

    raise IOError("API return error")


def post(url, param, token):
    try:
        headers = {'Content-Type': 'application/json;charset:utf-8;', 'Authorization': token}
        result = requests.post(url, headers=headers, data=param)
        if result.status_code == 200:
            resp=result.content.decode()
            return resp
    except Exception as e:
        raise e
    
    raise IOError("API return error")


def delete(url, param, token):
    try:
        headers = {'Content-Type': 'application/json;charset:utf-8;', 'Authorization': token}
        result = requests.delete(url, headers=headers, data=param)
        if result.status_code == 200:
            resp=result.content.decode()
            return resp
    except Exception as e:
        raise e

    raise IOError("API return error")
