7272##########################################
7373
7474
75- async def send_get_request (url , key = None , user : UserModel = None ):
75+ async def send_get_request (
76+ request : Request = None , url = None , key = None , user : UserModel = None , config = None ,
77+ ):
7678 timeout = aiohttp .ClientTimeout (total = AIOHTTP_CLIENT_TIMEOUT_MODEL_LIST )
7779 try :
7880 async with aiohttp .ClientSession (timeout = timeout , trust_env = True ) as session :
79- headers = {
80- ** ({'Authorization' : f'Bearer { key } ' } if key else {}),
81- }
81+ if request and config :
82+ headers , cookies = await get_headers_and_cookies (
83+ request , url , key , config , user = user
84+ )
85+ else :
86+ headers = {
87+ ** ({'Authorization' : f'Bearer { key } ' } if key else {}),
88+ }
89+ cookies = None
8290
83- if ENABLE_FORWARD_USER_INFO_HEADERS and user :
84- headers = include_user_info_headers (headers , user )
91+ if ENABLE_FORWARD_USER_INFO_HEADERS and user :
92+ headers = include_user_info_headers (headers , user )
8593
8694 async with session .get (
8795 url ,
8896 headers = headers ,
97+ cookies = cookies ,
8998 ssl = AIOHTTP_CLIENT_SESSION_SSL ,
9099 ) as response :
91100 return await response .json ()
@@ -95,10 +104,12 @@ async def send_get_request(url, key=None, user: UserModel = None):
95104 return None
96105
97106
98- async def get_models_request (url , key = None , user : UserModel = None ):
107+ async def get_models_request (
108+ request : Request = None , url = None , key = None , user : UserModel = None , config = None ,
109+ ):
99110 if is_anthropic_url (url ):
100111 return await get_anthropic_models (url , key , user = user )
101- return await send_get_request (f'{ url } /models' , key , user = user )
112+ return await send_get_request (request , f'{ url } /models' , key , user = user , config = config )
102113
103114
104115def openai_reasoning_model_handler (payload ):
@@ -360,7 +371,7 @@ async def get_all_models_responses(request: Request, user: UserModel) -> list:
360371 request_tasks = []
361372 for idx , url in enumerate (api_base_urls ):
362373 if (str (idx ) not in api_configs ) and (url not in api_configs ): # Legacy support
363- request_tasks .append (get_models_request (url , api_keys [idx ], user = user ))
374+ request_tasks .append (get_models_request (request , url , api_keys [idx ], user = user ))
364375 else :
365376 api_config = api_configs .get (
366377 str (idx ),
@@ -372,7 +383,9 @@ async def get_all_models_responses(request: Request, user: UserModel) -> list:
372383
373384 if enable :
374385 if len (model_ids ) == 0 :
375- request_tasks .append (get_models_request (url , api_keys [idx ], user = user ))
386+ request_tasks .append (
387+ get_models_request (request , url , api_keys [idx ], user = user , config = api_config )
388+ )
376389 else :
377390 model_list = {
378391 'object' : 'list' ,
0 commit comments