|
@ -47,10 +47,17 @@ class ConnectionManager(object): |
|
|
self._timeout = timeout |
|
|
self._timeout = timeout |
|
|
self._verify = verify |
|
|
self._verify = verify |
|
|
self._s = requests.Session() |
|
|
self._s = requests.Session() |
|
|
|
|
|
|
|
|
# retry once to reset connection with Keycloak after tomcat's ConnectionTimeout |
|
|
# retry once to reset connection with Keycloak after tomcat's ConnectionTimeout |
|
|
# see https://github.com/marcospereirampj/python-keycloak/issues/36 |
|
|
# see https://github.com/marcospereirampj/python-keycloak/issues/36 |
|
|
self._s.mount('https://', HTTPAdapter(max_retries=1)) |
|
|
|
|
|
self._s.mount('http://', HTTPAdapter(max_retries=1)) |
|
|
|
|
|
|
|
|
for protocol in ('https://', 'http://'): |
|
|
|
|
|
adapter = HTTPAdapter(max_retries=1) |
|
|
|
|
|
# adds POST to retry whitelist |
|
|
|
|
|
method_whitelist = set(adapter.max_retries.method_whitelist) |
|
|
|
|
|
method_whitelist.add('POST') |
|
|
|
|
|
adapter.max_retries.method_whitelist = frozenset(method_whitelist) |
|
|
|
|
|
|
|
|
|
|
|
self._s.mount(protocol, adapter) |
|
|
|
|
|
|
|
|
@property |
|
|
@property |
|
|
def base_url(self): |
|
|
def base_url(self): |
|
|