From 7a7cda6071ec2158853a4c5364f662af47d12465 Mon Sep 17 00:00:00 2001 From: Jon Michael Aanes Date: Thu, 3 Jul 2025 18:55:16 +0200 Subject: [PATCH] Set standard headers --- clients_protocol/__init__.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/clients_protocol/__init__.py b/clients_protocol/__init__.py index 9eacaf0..8b94f5d 100644 --- a/clients_protocol/__init__.py +++ b/clients_protocol/__init__.py @@ -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: