Set standard headers
Some checks failed
Run Python tests (through Pytest) / Test (push) Failing after 24s
Verify Python project can be installed, loaded and have version checked / Test (push) Failing after 22s

This commit is contained in:
Jon Michael Aanes 2025-07-03 18:55:16 +02:00
parent 0b0f3b5fbe
commit 7a7cda6071
Signed by: Jmaa
SSH Key Fingerprint: SHA256:Ab0GfHGCblESJx7JRE4fj4bFy/KRpeLhi41y4pF3sNA

View File

@ -48,6 +48,7 @@ class AbstractClient(abc.ABC):
if 'method' in kwargs:
method = kwargs['method']
del kwargs['method']
kwargs.setdefault('headers', {}).setdefault('Origin', url) # TODO?
return self.session.request(
method,
url,
@ -65,18 +66,22 @@ class AbstractClient(abc.ABC):
params=None,
**kwargs,
) -> None | bs4.BeautifulSoup:
kwargs.setdefault('headers', {}).setdefault('Accept', 'text/html')
text = self.fetch_text(url, params, **kwargs)
if text is None:
return None
return lxml.html.document_fromstring(text)
def fetch_soup(self, url: str, params=None, **kwargs) -> None | bs4.BeautifulSoup:
kwargs.setdefault('headers', {}).setdefault('Accept', 'text/html')
text = self.fetch_text(url, params, **kwargs)
if text is None:
return None
return bs4.BeautifulSoup(text, 'html.parser')
def fetch_json(self, url: str, params=None, **kwargs) -> None | dict[str, Any]:
kwargs.setdefault('headers', {}).setdefault('Accept', 'application/json')
response = self.fetch(url, params, **kwargs)
loaded_json = response.json()
if API_ERROR_KEY in loaded_json: