Skip to content

Commit 5b89b9a

Browse files
committed
Skipping _db prefix when using /_open/auth
1 parent 8972237 commit 5b89b9a

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

arangoasync/connection.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -160,11 +160,16 @@ def compress_request(self, request: Request) -> bool:
160160

161161
return result
162162

163-
async def process_request(self, request: Request) -> Response:
163+
async def process_request(
164+
self,
165+
request: Request,
166+
skip_db_prefix: bool = False,
167+
) -> Response:
164168
"""Process request, potentially trying multiple hosts.
165169
166170
Args:
167171
request (Request): Request object.
172+
skip_db_prefix (bool): If `True`, do not prepend the database endpoint.
168173
169174
Returns:
170175
Response: Response object.
@@ -173,7 +178,8 @@ async def process_request(self, request: Request) -> Response:
173178
ConnectionAbortedError: If it can't connect to host(s) within limit.
174179
"""
175180

176-
request.endpoint = f"{self._db_endpoint}{request.endpoint}"
181+
if not skip_db_prefix:
182+
request.endpoint = f"{self._db_endpoint}{request.endpoint}"
177183
host_index = self._host_resolver.get_host_index()
178184
for tries in range(self._host_resolver.max_tries):
179185
try:
@@ -376,7 +382,7 @@ async def refresh_token(self) -> None:
376382
)
377383

378384
try:
379-
resp = await self.process_request(request)
385+
resp = await self.process_request(request, skip_db_prefix=True)
380386
except ClientConnectionAbortedError as e:
381387
raise JWTRefreshError(str(e)) from e
382388
except ServerConnectionError as e:

tests/test_connection.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,12 @@ async def test_JwtConnection_ping_success(
223223
status_code = await connection1.ping()
224224
assert status_code == 200
225225

226+
# Refresh the token
227+
await connection3.refresh_token()
228+
status_code = await connection1.ping()
229+
assert status_code == 200
230+
assert connection3.token != connection1.token
231+
226232

227233
@pytest.mark.asyncio
228234
async def test_JwtSuperuserConnection_ping_success(

0 commit comments

Comments
 (0)