@@ -125,14 +125,22 @@ def prep_response(self, resp: Response, deserialize: bool = True) -> Response:
125
125
return resp
126
126
127
127
def process_request (
128
- self , host_index : int , request : Request , auth : Optional [Tuple [str , str ]] = None
128
+ self ,
129
+ host_index : int ,
130
+ request : Request ,
131
+ auth : Optional [Tuple [str , str ]] = None ,
132
+ skip_db_prefix : bool = False ,
129
133
) -> Response :
130
134
"""Execute a request until a valid response has been returned.
131
135
132
136
:param host_index: The index of the first host to try
133
137
:type host_index: int
134
138
:param request: HTTP request.
135
139
:type request: arango.request.Request
140
+ :param auth: HTTP basic authentication tuple (username, password).
141
+ :type auth: tuple[str, str] | None
142
+ :param skip_db_prefix: Skip the database prefix in the URL.
143
+ :type skip_db_prefix: bool
136
144
:return: HTTP response.
137
145
:rtype: arango.response.Response
138
146
"""
@@ -152,11 +160,16 @@ def process_request(
152
160
request .headers ["accept-encoding" ] = self ._response_compression
153
161
154
162
while tries < self ._host_resolver .max_tries :
163
+ if skip_db_prefix :
164
+ url = self ._hosts [host_index ] + request .endpoint
165
+ else :
166
+ url = self ._url_prefixes [host_index ] + request .endpoint
167
+
155
168
try :
156
169
resp = self ._http .send_request (
157
170
session = self ._sessions [host_index ],
158
171
method = request .method ,
159
- url = self . _url_prefixes [ host_index ] + request . endpoint ,
172
+ url = url ,
160
173
params = request .params ,
161
174
data = data ,
162
175
headers = request .headers ,
@@ -165,7 +178,6 @@ def process_request(
165
178
166
179
return self .prep_response (resp , request .deserialize )
167
180
except ConnectionError :
168
- url = self ._url_prefixes [host_index ] + request .endpoint
169
181
logging .debug (f"ConnectionError: { url } " )
170
182
171
183
if len (indexes_to_filter ) == self ._host_resolver .host_count - 1 :
@@ -425,7 +437,7 @@ def refresh_token(self) -> None:
425
437
426
438
host_index = self ._host_resolver .get_host_index ()
427
439
428
- resp = self .process_request (host_index , request )
440
+ resp = self .process_request (host_index , request , skip_db_prefix = True )
429
441
430
442
if not resp .is_success :
431
443
raise JWTAuthError (resp , request )
0 commit comments