Add modules/irr_tools.py
This commit is contained in:
parent
5abb863d3e
commit
652290f9e8
1 changed files with 31 additions and 0 deletions
31
modules/irr_tools.py
Normal file
31
modules/irr_tools.py
Normal file
|
|
@ -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)}"}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue