11# noinspection PyPackageRequirements
22from collections import namedtuple
33
4+ import requests
45from logbook import Logger
56import uuid
67import time
@@ -72,6 +73,8 @@ def __init__(self):
7273 self ._session .headers .update (self ._basicHeaders )
7374 self ._session .proxies = NetworkSettings .getInstance ().getProxySettingsInRequestsFormat ()
7475
76+ self .mem_cached_session = {}
77+
7578 # Set up cached session. This is only used for SSO meta data for now, but can be expanded to actually handle
7679 # various ESI caching (using ETag, for example) in the future
7780 self .cached_session = CachedSession (
@@ -88,11 +91,20 @@ def __init__(self):
8891 def init (self , server_base ):
8992 self .server_base : config .ApiServer = server_base
9093 self .server_name = self .server_base .name
91- meta_call = self .cached_session .get ("https://%s/.well-known/oauth-authorization-server" % self .server_base .sso )
94+ try :
95+ meta_call = self .cached_session .get ("https://%s/.well-known/oauth-authorization-server" % self .server_base .sso )
96+ except :
97+ # The http data of expire_after in evepc.163.com is -1
98+ meta_call = requests .get ("https://%s/.well-known/oauth-authorization-server" % self .server_base .sso )
99+
92100 meta_call .raise_for_status ()
93101 self .server_meta = meta_call .json ()
94102
95- jwks_call = self .cached_session .get (self .server_meta ["jwks_uri" ])
103+ try :
104+ jwks_call = self .cached_session .get (self .server_meta ["jwks_uri" ])
105+ except :
106+ jwks_call = requests .get (self .server_meta ["jwks_uri" ])
107+
96108 jwks_call .raise_for_status ()
97109 self .jwks = jwks_call .json ()
98110
0 commit comments