I am using BaseUrlSession
of requests_toolbelt.sessions
and provide the required session info.
Here is the sample code
from requests_toolbelt.sessions import BaseUrlSession
class ConnectAWS:
_session: BaseUrlSession
def __init__(self, url: str, user: str, password: str):
self._session = BaseUrlSession(base_url=url)
self._session.headers = HEADERS
self._session.params = {'api-version': '5.0'}
def get_house_info(self, area_name: str, house_id: int) -> dict:
endpoint = f"{area_name}/_apis/houseitems/{house_id}"
response = self._session.get(endpoint)
response.raise_for_status()
return response.json()
I would like to use retry logic for self._session.get(endpoint)
using the below code snippet taken from How to implement retry mechanism into python requests library? , can anyone tell me how can I add the retry logic before doing a raise for status()
from requests.adapters import HTTPAdapter, Retry
s = requests.Session()
retries = Retry(total=5, backoff_factor=1, status_forcelist=[ 502, 503, 504 ])
s.mount('http://', HTTPAdapter(max_retries=retries))
s.get("http://httpstat.us/503")