Aswin f8c4accd54 Reset
Reset dev
2025-03-18 00:17:27 +05:30

38 lines
1.2 KiB
Python

import requests
class Service:
def __init__(self, cfg, session=None):
self.session = session or requests.Session()
self.client = Client(cfg.get("client") or {})
self.disabled = cfg.get("disabled")
self.extras = cfg.get("extras")
class Client:
def __init__(self, data):
self.baseUrl = data.get("baseUrl")
self.endpoints = {k: Endpoint(v) for k, v in (data.get("endpoints") or {}).items()}
self.extras = data.get("extras") or {}
class Endpoint:
def __init__(self, data):
self.headers = data.get("headers") or {}
self.href = data["href"]
self.method = data.get("method") or "GET"
self.templated = data.get("templated") or False
self.timeout = data.get("timeout") or 15
self.ttl = data.get("ttl") or 0
# noinspection PyPep8Naming
def get_headers(self, accessToken=None, apiKey=None):
token = None
if accessToken:
token = {"accessToken": accessToken}
elif apiKey:
token = {"apiKey": apiKey}
if token:
self.headers.update({"Authorization": self.headers["Authorization"].format(**token)})
return self.headers