in internal/conn/storage/credcache.go [55:78]
func newCredCache(client getCreder, options ...ccOption) (*credCache, error) {
cc := &credCache{
now: time.Now,
cli: client,
log: slog.Default(),
closeCh: make(chan struct{}),
start: true,
}
for _, o := range options {
if err := o(cc); err != nil {
return nil, err
}
}
if cc.start {
if err := cc.refreshCred(context.Background(), cc.now().UTC()); err != nil {
return nil, fmt.Errorf("credCache: problem getting credential: %w", err)
}
go cc.refresher()
}
return cc, nil
}