@NotNull
private static Link createToken(
@NotNull SharedContext context,
@NotNull URI baseLfsUrl,
@NotNull User user,
int tokenExpireSec,
float tokenEnsureTime
) {
int expireSec = tokenExpireSec <= 0 ? LfsConfig.DEFAULT_TOKEN_EXPIRE_SEC : tokenExpireSec;
int ensureSec = (int) Math.ceil(expireSec * tokenEnsureTime);
NumericDate now = NumericDate.now();
NumericDate expireAt = NumericDate.fromSeconds(now.getValue() + expireSec);
NumericDate ensureAt = NumericDate.fromSeconds(now.getValue() + ensureSec);
return new Link(
baseLfsUrl,
createTokenHeader(context, user, expireAt),
new Date(ensureAt.getValueInMillis())
);
}
}