diff options
Diffstat (limited to 'src/ute_wrapper/ute.py')
-rwxr-xr-x | src/ute_wrapper/ute.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/ute_wrapper/ute.py b/src/ute_wrapper/ute.py index 786b2a2..4851167 100755 --- a/src/ute_wrapper/ute.py +++ b/src/ute_wrapper/ute.py @@ -112,7 +112,7 @@ class UTEClient: delay: float = 2, ) -> requests.Response: """ - Make a HTTP request with retries. + Make a HTTP request with retries and handle expired authorization. Args: method (str): The HTTP method to use. Accepted methods are ``GET``, ``POST``. @@ -134,12 +134,15 @@ class UTEClient: "Connection": "Keep-Alive", } - if self.authorization: - headers["Authorization"] = f"Bearer {self.authorization}" - for attempt in range(retries): + if self.authorization: + headers["Authorization"] = f"Bearer {self.authorization}" + try: response = getattr(requests, method.lower(), self._method_not_supported)(url, headers=headers, json=data) + if response.status_code == requests.codes.unauthorized: + self._login() + continue response.raise_for_status() return response except (requests.RequestException, Exception): |