chore: improve readablity
Some checks failed
Release / call-build-workflow (push) Has been cancelled
Release / Publish Docker :release (push) Has been cancelled
Release / Github & APT (push) Has been cancelled
Release / Demo (push) Has been cancelled
Release / Hassio Addon (push) Has been cancelled

This commit is contained in:
andig 2023-07-03 17:59:14 +02:00
parent fe79ba8b02
commit 8a5772aa79

View file

@ -30,17 +30,22 @@ func RefreshTokenSource(token *oauth2.Token, refresher TokenRefresher) oauth2.To
func (ts *TokenSource) Token() (*oauth2.Token, error) {
ts.mu.Lock()
defer ts.mu.Unlock()
var err error
if !ts.token.Valid() {
var token *oauth2.Token
if token, err = ts.refresher.RefreshToken(ts.token); err == nil {
if token.AccessToken == "" {
err = errors.New("token refresh failed to obtain access token")
} else {
err = ts.mergeToken(token)
}
}
if ts.token.Valid() {
return ts.token, nil
}
token, err := ts.refresher.RefreshToken(ts.token)
if err != nil {
return ts.token, err
}
if token.AccessToken == "" {
err = errors.New("token refresh failed to obtain access token")
} else {
err = ts.mergeToken(token)
}
return ts.token, err
}