Skip to content

Commit 3fe4886

Browse files
committed
fix: pass along the default connection manager configuration into uma
1 parent 9a8c498 commit 3fe4886

2 files changed

Lines changed: 48 additions & 2 deletions

File tree

src/keycloak/connection.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,9 @@ def __init__(
104104
self.headers = headers
105105
self.timeout = timeout
106106
self.verify = verify
107+
self.proxies = proxies
107108
self.cert = cert
109+
self.max_retries = max_retries
108110
self.pool_maxsize = pool_maxsize
109111
self._s = requests.Session()
110112
self._s.auth = lambda x: x # don't let requests add auth headers
@@ -193,6 +195,20 @@ def verify(self) -> bool | str:
193195
def verify(self, value: bool | str) -> None:
194196
self._verify = value
195197

198+
@property
199+
def proxies(self) -> dict | None:
200+
"""
201+
Return proxies in use for request to the server.
202+
203+
:returns: Proxies
204+
:rtype: dict | None
205+
"""
206+
return self._proxies
207+
208+
@proxies.setter
209+
def proxies(self, value: dict | None) -> None:
210+
self._proxies = value
211+
196212
@property
197213
def cert(self) -> str | tuple | None:
198214
"""
@@ -207,6 +223,20 @@ def cert(self) -> str | tuple | None:
207223
def cert(self, value: str | tuple | None) -> None:
208224
self._cert = value
209225

226+
@property
227+
def max_retries(self) -> int:
228+
"""
229+
Return maximum number of retries in use for requests to the server.
230+
231+
:returns: Maximum number of retries
232+
:rtype: int
233+
"""
234+
return self._max_retries
235+
236+
@max_retries.setter
237+
def max_retries(self, value: int) -> None:
238+
self._max_retries = value
239+
210240
@property
211241
def pool_maxsize(self) -> int | None:
212242
"""

src/keycloak/keycloak_uma.py

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,15 @@ def permissions_check(
461461
)
462462
raise AttributeError(msg)
463463

464-
connection = ConnectionManager(self.connection.base_url)
464+
connection = ConnectionManager(
465+
base_url=self.connection.base_url,
466+
timeout=self.connection.timeout,
467+
verify=self.connection.verify,
468+
proxies=self.connection.proxies,
469+
cert=self.connection.cert,
470+
max_retries=self.connection.max_retries,
471+
pool_maxsize=self.connection.pool_maxsize,
472+
)
465473
connection.add_param_headers("Authorization", "Bearer " + token)
466474
connection.add_param_headers("Content-Type", "application/x-www-form-urlencoded")
467475
data_raw = connection.raw_post(self.uma_well_known["token_endpoint"], data=payload)
@@ -946,7 +954,15 @@ async def a_permissions_check(
946954
)
947955
raise AttributeError(msg)
948956

949-
connection = ConnectionManager(self.connection.base_url)
957+
connection = ConnectionManager(
958+
base_url=self.connection.base_url,
959+
timeout=self.connection.timeout,
960+
verify=self.connection.verify,
961+
proxies=self.connection.proxies,
962+
cert=self.connection.cert,
963+
max_retries=self.connection.max_retries,
964+
pool_maxsize=self.connection.pool_maxsize,
965+
)
950966
connection.add_param_headers("Authorization", "Bearer " + token)
951967
connection.add_param_headers("Content-Type", "application/x-www-form-urlencoded")
952968
data_raw = await connection.a_raw_post(

0 commit comments

Comments
 (0)