Untitled

 avatar
4ae4d
plain_text
2 months ago
1.1 kB
5
Indexable
--- src/bot/core/clients/base.py ---
from requests import Session


class BaseApiClient:
    def __init__(self, base_url=None):
        if not base_url:
            raise ValueError("base_url is required for BaseApiClient")
        self.base_url = str(base_url).rstrip("/")
        self.session = Session()

    def health_check(self) -> bool:
        return self.get("/docs").status_code == 200

    def get(self, url, headers=None, params=None):
        return self.session.get(self.base_url + url, headers=headers, params=params)

    def post(self, url, headers=None, json=None):
        return self.session.post(self.base_url + url, headers=headers, json=json)

    def delete(self, url, headers=None, json=None):
        return self.session.delete(self.base_url + url, headers=headers, json=json)

    def patch(self, url, headers=None, json=None):
        return self.session.patch(self.base_url + url, headers=headers, json=json)

    def put(self, url, headers=None, json=None):
        return self.session.put(self.base_url + url, headers=headers, json=json)

Editor is loading...
Leave a Comment