import requests import time import redis from utils.yaml_loader import load_config redis_client = redis.Redis( host="redis", port=6379, decode_responses=True ) config = load_config() def http_request(method, url, authenticated=True, **kwargs): start = time.time() headers = kwargs.pop("headers", {}) if authenticated: token_key = config["flows"]["auth"]["login"]["store_redis"]["key"] token = redis_client.get(token_key) if token: headers["Authorization"] = f"Bearer {token}" response = requests.request( method, url, headers=headers, **kwargs ) latency = time.time() - start try: data = response.json() except Exception: data = response.text return { "status": response.status_code, "data": data, "latency": latency }