in modular_cli/modular_cli.py [0:0]
def handle_token_expiration(adapter_sdk: AdapterClient) -> AdapterClient:
"""
Tries to refresh access token. Returns new adapter client. Can return
the save object or new object
"""
at = adapter_sdk.session_token
if at and not JWTToken(at).is_expired():
_LOG.debug('Access token has not expired yet. Using it')
return adapter_sdk
# no access token or expired
rt = ConfigurationProvider().refresh_token
if not rt or JWTToken(rt).is_expired():
_LOG.debug('Refresh token does not exist or expired. Cannot refresh')
return adapter_sdk
resp = adapter_sdk.refresh(rt)
if not resp.ok:
_LOG.warning(f'Could not refresh token: {resp.text}')
return adapter_sdk
data = resp.json()
add_data_to_config(name=CONF_ACCESS_TOKEN, value=data.get('jwt'))
add_data_to_config(name=CONF_REFRESH_TOKEN, value=data.get('refresh_token'))
return init_configuration()