From 7a53ce492c78e203c72a6ca6eefdbb024f9b5509 Mon Sep 17 00:00:00 2001 From: Ville Hartikainen Date: Tue, 17 Oct 2023 20:13:18 +0300 Subject: [PATCH] feat: support for forward proxies. Fixes #41 --- pysendpulse/pysendpulse.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pysendpulse/pysendpulse.py b/pysendpulse/pysendpulse.py index 8cc7c22..0567109 100644 --- a/pysendpulse/pysendpulse.py +++ b/pysendpulse/pysendpulse.py @@ -43,11 +43,12 @@ class PySendPulse: __storage_type = "FILE" __refresh_token = 0 __memcached_host = "127.0.0.1:11211" + __proxies = None MEMCACHED_VALUE_TIMEOUT = 3600 ALLOWED_STORAGE_TYPES = ['FILE', 'MEMCACHED'] - def __init__(self, user_id, secret, storage_type="FILE", token_file_path="", memcached_host="127.0.0.1:11211"): + def __init__(self, user_id, secret, storage_type="FILE", token_file_path="", memcached_host="127.0.0.1:11211", proxies=None): """ SendPulse API constructor @param user_id: string REST API ID from SendPulse settings @@ -65,6 +66,7 @@ def __init__(self, user_id, secret, storage_type="FILE", token_file_path="", mem self.__storage_type = storage_type.upper() self.__token_file_path = token_file_path self.__memcached_host = memcached_host + self.__proxies = proxies m = md5() m.update("{}::{}".format(user_id, secret).encode('utf-8')) self.__token_hash_name = m.hexdigest() @@ -148,13 +150,13 @@ def __send_request(self, path, method="GET", params=None, use_token=True, use_js params = json.dumps(params) if method == "POST": - response = requests.post(url, headers=headers, data=params) + response = requests.post(url, headers=headers, data=params, proxies=self.__proxies) elif method == "PUT": - response = requests.put(url, headers=headers, data=params) + response = requests.put(url, headers=headers, data=params, proxies=self.__proxies) elif method == "DELETE": - response = requests.delete(url, headers=headers, data=params) + response = requests.delete(url, headers=headers, data=params, proxies=self.__proxies) else: - response = requests.get(url, headers=headers, params=params) + response = requests.get(url, headers=headers, params=params, proxies=self.__proxies) if response.status_code == 401 and self.__refresh_token == 0: self.__get_token() return self.__send_request(path, method, params)