Browse Source

fix: pass along the default connection manager configuration into uma

pull/687/head
Richard Nemeth 1 week ago
parent
commit
3fe4886093
No known key found for this signature in database GPG Key ID: 21C39470DF3DEC39
  1. 30
      src/keycloak/connection.py
  2. 20
      src/keycloak/keycloak_uma.py

30
src/keycloak/connection.py

@ -104,7 +104,9 @@ class ConnectionManager:
self.headers = headers
self.timeout = timeout
self.verify = verify
self.proxies = proxies
self.cert = cert
self.max_retries = max_retries
self.pool_maxsize = pool_maxsize
self._s = requests.Session()
self._s.auth = lambda x: x # don't let requests add auth headers
@ -193,6 +195,20 @@ class ConnectionManager:
def verify(self, value: bool | str) -> None:
self._verify = value
@property
def proxies(self) -> dict | None:
"""
Return proxies in use for request to the server.
:returns: Proxies
:rtype: dict | None
"""
return self._proxies
@proxies.setter
def proxies(self, value: dict | None) -> None:
self._proxies = value
@property
def cert(self) -> str | tuple | None:
"""
@ -207,6 +223,20 @@ class ConnectionManager:
def cert(self, value: str | tuple | None) -> None:
self._cert = value
@property
def max_retries(self) -> int:
"""
Return maximum number of retries in use for requests to the server.
:returns: Maximum number of retries
:rtype: int
"""
return self._max_retries
@max_retries.setter
def max_retries(self, value: int) -> None:
self._max_retries = value
@property
def pool_maxsize(self) -> int | None:
"""

20
src/keycloak/keycloak_uma.py

@ -461,7 +461,15 @@ class KeycloakUMA:
)
raise AttributeError(msg)
connection = ConnectionManager(self.connection.base_url)
connection = ConnectionManager(
base_url=self.connection.base_url,
timeout=self.connection.timeout,
verify=self.connection.verify,
proxies=self.connection.proxies,
cert=self.connection.cert,
max_retries=self.connection.max_retries,
pool_maxsize=self.connection.pool_maxsize,
)
connection.add_param_headers("Authorization", "Bearer " + token)
connection.add_param_headers("Content-Type", "application/x-www-form-urlencoded")
data_raw = connection.raw_post(self.uma_well_known["token_endpoint"], data=payload)
@ -946,7 +954,15 @@ class KeycloakUMA:
)
raise AttributeError(msg)
connection = ConnectionManager(self.connection.base_url)
connection = ConnectionManager(
base_url=self.connection.base_url,
timeout=self.connection.timeout,
verify=self.connection.verify,
proxies=self.connection.proxies,
cert=self.connection.cert,
max_retries=self.connection.max_retries,
pool_maxsize=self.connection.pool_maxsize,
)
connection.add_param_headers("Authorization", "Bearer " + token)
connection.add_param_headers("Content-Type", "application/x-www-form-urlencoded")
data_raw = await connection.a_raw_post(

Loading…
Cancel
Save