From e3bfa6ff385850d451fb6ebe4a76bbd37b4c4bbf Mon Sep 17 00:00:00 2001 From: prostraction Date: Sun, 29 Sep 2024 20:50:49 +0500 Subject: [PATCH 1/3] Set up a timeout for requests --- whatsapp_api_client_python/API.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/whatsapp_api_client_python/API.py b/whatsapp_api_client_python/API.py index 815886b..ad1bd5e 100644 --- a/whatsapp_api_client_python/API.py +++ b/whatsapp_api_client_python/API.py @@ -75,11 +75,11 @@ def request( try: if not files: response = self.session.request( - method=method, url=url, json=payload + method=method, url=url, json=payload, timeout=180 ) else: response = self.session.request( - method=method, url=url, data=payload, files=files + method=method, url=url, data=payload, files=files, timeout=10800 ) except Exception as error: error_message = f"Request was failed with error: {error}." From 4c835a9671d7427bcbe02f1c9f17b42126173e1d Mon Sep 17 00:00:00 2001 From: prostraction <47314760+prostraction@users.noreply.github.com> Date: Mon, 30 Sep 2024 10:38:45 +0300 Subject: [PATCH 2/3] Make timeouts settings available in init function --- whatsapp_api_client_python/API.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/whatsapp_api_client_python/API.py b/whatsapp_api_client_python/API.py index ad1bd5e..4449db9 100644 --- a/whatsapp_api_client_python/API.py +++ b/whatsapp_api_client_python/API.py @@ -33,13 +33,19 @@ def __init__( debug_mode: bool = False, raise_errors: bool = False, host: str = "https://api.green-api.com", - media: str = "https://media.green-api.com" + media: str = "https://media.green-api.com", + host_timeout: float = 180, # sec per retry + media_timeout: float = 10800, # sec per retry ): self.host = host self.media = media self.debug_mode = debug_mode self.raise_errors = raise_errors + # Change default values in init() if required + self.host_timeout = host_timeout + self.media_timeout = media_timeout + self.idInstance = idInstance self.apiTokenInstance = apiTokenInstance @@ -75,11 +81,11 @@ def request( try: if not files: response = self.session.request( - method=method, url=url, json=payload, timeout=180 + method=method, url=url, json=payload, timeout=self.host_timeout ) else: response = self.session.request( - method=method, url=url, data=payload, files=files, timeout=10800 + method=method, url=url, data=payload, files=files, timeout=self.media_timeout ) except Exception as error: error_message = f"Request was failed with error: {error}." From 2c2b8ad9428ce94286ff7af3f45feef91829a591 Mon Sep 17 00:00:00 2001 From: prostraction <47314760+prostraction@users.noreply.github.com> Date: Mon, 30 Sep 2024 10:52:28 +0300 Subject: [PATCH 3/3] Modified version --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 9a7a8d4..fc0509d 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setup( name="whatsapp-api-client-python", - version="0.0.46", + version="0.0.47", description=( "This library helps you easily create" " a Python application with WhatsApp API."