diff --git a/modules/irr_tools.py b/modules/irr_tools.py new file mode 100644 index 0000000..3d3fe29 --- /dev/null +++ b/modules/irr_tools.py @@ -0,0 +1,31 @@ +import os +import requests +from dotenv import load_dotenv + +load_dotenv() + +def make_irr_api_request(method, endpoint, json_data=None): + url = f"{os.getenv('IRR_API_URL', '')}{endpoint}" + key = os.getenv('IRR_API_KEY') + + if not os.getenv('IRR_API_URL') or not key: + return {"error": "IRR_API_URL or IRR_API_KEY is not configured in .env"} + + headers = {"X-API-Key": key, "Content-Type": "application/json"} + + try: + if method.upper() == 'GET': + response = requests.get(url, headers=headers, timeout=10) + elif method.upper() == 'POST': + response = requests.post(url, headers=headers, json=json_data, timeout=15) + else: + return {"error": "Unsupported method"} + + response.raise_for_status() + return response.json() + except requests.exceptions.HTTPError as e: + return {"error": f"HTTP Error: {e.response.status_code} {e.response.text}"} + except requests.exceptions.RequestException as e: + return {"error": f"Request Error: {str(e)}"} + except Exception as e: + return {"error": f"General Error: {str(e)}"}