@@ -125,14 +125,22 @@ def prep_response(self, resp: Response, deserialize: bool = True) -> Response:
125125 return resp
126126
127127 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 ,
129133 ) -> Response :
130134 """Execute a request until a valid response has been returned.
131135
132136 :param host_index: The index of the first host to try
133137 :type host_index: int
134138 :param request: HTTP request.
135139 :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
136144 :return: HTTP response.
137145 :rtype: arango.response.Response
138146 """
@@ -152,11 +160,16 @@ def process_request(
152160 request .headers ["accept-encoding" ] = self ._response_compression
153161
154162 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+
155168 try :
156169 resp = self ._http .send_request (
157170 session = self ._sessions [host_index ],
158171 method = request .method ,
159- url = self . _url_prefixes [ host_index ] + request . endpoint ,
172+ url = url ,
160173 params = request .params ,
161174 data = data ,
162175 headers = request .headers ,
@@ -165,7 +178,6 @@ def process_request(
165178
166179 return self .prep_response (resp , request .deserialize )
167180 except ConnectionError :
168- url = self ._url_prefixes [host_index ] + request .endpoint
169181 logging .debug (f"ConnectionError: { url } " )
170182
171183 if len (indexes_to_filter ) == self ._host_resolver .host_count - 1 :
@@ -425,7 +437,7 @@ def refresh_token(self) -> None:
425437
426438 host_index = self ._host_resolver .get_host_index ()
427439
428- resp = self .process_request (host_index , request )
440+ resp = self .process_request (host_index , request , skip_db_prefix = True )
429441
430442 if not resp .is_success :
431443 raise JWTAuthError (resp , request )
0 commit comments