()
| 212 | } |
| 213 | |
| 214 | func (t *cachedTokenSource) Token() (*oauth2.Token, error) { |
| 215 | tok := t.cachedToken() |
| 216 | if tok.Valid() && !tok.Expiry.IsZero() { |
| 217 | return tok, nil |
| 218 | } |
| 219 | tok, err := t.source.Token() |
| 220 | if err != nil { |
| 221 | return nil, err |
| 222 | } |
| 223 | cache := t.update(tok) |
| 224 | if t.persister != nil { |
| 225 | if err := t.persister.Persist(cache); err != nil { |
| 226 | klog.V(4).Infof("Failed to persist token: %v", err) |
| 227 | } |
| 228 | } |
| 229 | return tok, nil |
| 230 | } |
| 231 | |
| 232 | func (t *cachedTokenSource) cachedToken() *oauth2.Token { |
| 233 | t.lk.Lock() |
nothing calls this directly
no test coverage detected