func()

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
}