From fd8949d71ecfae230d8b15fee7126a4cb67a694b Mon Sep 17 00:00:00 2001 From: Richard Marmorstein Date: Fri, 8 Dec 2023 17:10:28 -0800 Subject: [PATCH 1/2] Add some types to _http_client --- stripe/_http_client.py | 36 +++++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/stripe/_http_client.py b/stripe/_http_client.py index 47857665e..94b872d99 100644 --- a/stripe/_http_client.py +++ b/stripe/_http_client.py @@ -34,6 +34,7 @@ try: import requests + from requests import Session except ImportError: requests = None else: @@ -314,8 +315,16 @@ def close(self): class RequestsClient(HTTPClient): name = "requests" - def __init__(self, timeout=80, session=None, **kwargs): - super(RequestsClient, self).__init__(**kwargs) + def __init__( + self, + timeout: int = 80, + session: Optional["Session"] = None, + verify_ssl_certs: bool = True, + proxy: Optional[Union[str, HTTPClient._Proxy]] = None, + ): + super(RequestsClient, self).__init__( + verify_ssl_certs=verify_ssl_certs, proxy=proxy + ) self._session = session self._timeout = timeout @@ -447,7 +456,12 @@ def close(self): class UrlFetchClient(HTTPClient): name = "urlfetch" - def __init__(self, verify_ssl_certs=True, proxy=None, deadline=55): + def __init__( + self, + verify_ssl_certs: bool = True, + proxy: Optional[HTTPClient._Proxy] = None, + deadline: int = 55, + ): super(UrlFetchClient, self).__init__( verify_ssl_certs=verify_ssl_certs, proxy=proxy ) @@ -539,7 +553,11 @@ class _ParsedProxy(TypedDict, total=False): name = "pycurl" _parsed_proxy: Optional[_ParsedProxy] - def __init__(self, verify_ssl_certs=True, proxy=None): + def __init__( + self, + verify_ssl_certs: bool = True, + proxy: Optional[HTTPClient._Proxy] = None, + ): super(PycurlClient, self).__init__( verify_ssl_certs=verify_ssl_certs, proxy=proxy ) @@ -691,7 +709,11 @@ def close(self): class Urllib2Client(HTTPClient): name = "urllib.request" - def __init__(self, verify_ssl_certs=True, proxy=None): + def __init__( + self, + verify_ssl_certs: bool = True, + proxy: Optional[HTTPClient._Proxy] = None, + ): super(Urllib2Client, self).__init__( verify_ssl_certs=verify_ssl_certs, proxy=proxy ) @@ -700,10 +722,10 @@ def __init__(self, verify_ssl_certs=True, proxy=None): if self._proxy: # We have to cast _Proxy to Dict[str, str] because pyright is not smart enough to # realize that all the value types are str. - proxy = urllibrequest.ProxyHandler( + proxy_ = urllibrequest.ProxyHandler( cast(Dict[str, str], self._proxy) ) - self._opener = urllibrequest.build_opener(proxy) + self._opener = urllibrequest.build_opener(proxy_) def request(self, method, url, headers, post_data=None): return self._request_internal( From 1f58aef1b0eb0b9ddbc1be05bebd50023f6cedd9 Mon Sep 17 00:00:00 2001 From: Richard Marmorstein Date: Mon, 11 Dec 2023 11:33:03 -0800 Subject: [PATCH 2/2] better rename --- stripe/_http_client.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stripe/_http_client.py b/stripe/_http_client.py index 94b872d99..5c4fdddbf 100644 --- a/stripe/_http_client.py +++ b/stripe/_http_client.py @@ -722,10 +722,10 @@ def __init__( if self._proxy: # We have to cast _Proxy to Dict[str, str] because pyright is not smart enough to # realize that all the value types are str. - proxy_ = urllibrequest.ProxyHandler( + proxy_handler = urllibrequest.ProxyHandler( cast(Dict[str, str], self._proxy) ) - self._opener = urllibrequest.build_opener(proxy_) + self._opener = urllibrequest.build_opener(proxy_handler) def request(self, method, url, headers, post_data=None): return self._request_internal(