Skip to content

Commit f74238b

Browse files
authored
Work around renamed arg in urllib3. (#96)
1 parent 90cd7a7 commit f74238b

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

mixpanel/__init__.py

+16-6
Original file line numberDiff line numberDiff line change
@@ -548,12 +548,22 @@ def __init__(self, events_url=None, people_url=None, import_url=None,
548548
'groups': groups_url or 'https://{}/groups'.format(api_host),
549549
'imports': import_url or 'https://{}/import'.format(api_host),
550550
}
551-
retry_config = urllib3.Retry(
552-
total=retry_limit,
553-
backoff_factor=retry_backoff_factor,
554-
method_whitelist={'POST'},
555-
status_forcelist=set(range(500, 600)),
556-
)
551+
552+
retry_args = {
553+
"total": retry_limit,
554+
"backoff_factor": retry_backoff_factor,
555+
"status_forcelist": set(range(500, 600)),
556+
}
557+
558+
# Work around renamed argument in urllib3.
559+
if hasattr(urllib3.util.Retry.DEFAULT, "allowed_methods"):
560+
methods_arg = "allowed_methods"
561+
else:
562+
methods_arg = "method_whitelist"
563+
564+
retry_args[methods_arg] = {"POST"}
565+
retry_config = urllib3.Retry(**retry_args)
566+
557567
cert_reqs = 'CERT_REQUIRED' if verify_cert else 'CERT_NONE'
558568
self._http = urllib3.PoolManager(
559569
retries=retry_config,

0 commit comments

Comments
 (0)