in gamelift-daemon/src/ec2_metadata/ec2_metadata.py [0:0]
def _ensure_token_is_fresh(self):
now = time.time()
# Refresh up to 60 seconds before expiry
if now - self._token_updated_at > (TOKEN_TTL_SECONDS - 60):
token_response = self._session.put(
SERVICE_URL + "api/token",
headers={TOKEN_HEADER_TTL: str(TOKEN_TTL_SECONDS)},
timeout=5.0,
)
if token_response.status_code != 200:
token_response.raise_for_status()
token = token_response.text
self._session.headers.update({TOKEN_HEADER: token})
self._token_updated_at = now