in pkg/auth/user_login.go [151:178]
func (t *UserLogin) RefreshToken(params RefreshTokenParams) error {
if err := params.Validate(); err != nil {
return err
}
if params.InterruptChannel == nil {
params.InterruptChannel = make(chan os.Signal, 1)
}
signal.Notify(params.InterruptChannel, os.Interrupt, syscall.SIGTERM)
go func() {
ticker := time.NewTicker(params.Frequency)
defer ticker.Stop()
for {
select {
case <-ticker.C:
if err := t.RefreshTokenOnce(params.Client); err != nil {
fmt.Fprintln(params.ErrorDevice, err)
continue
}
case <-params.InterruptChannel:
return
}
}
}()
return nil
}