INNER CODE UNIT · Go

WatchConfig

andrearaponi/dito · config/config.go:299

func WatchConfig(configFile string, onChange func(*ProxyConfig), logger *slog.Logger) {
	var lastModified time.Time
	isFirstCheck := true

	ticker := time.NewTicker(2 * time.Second)
	defer ticker.Stop()

	for {
		select {
		case <-ticker.C:
			fileInfo, err := os.Stat(configFile)
			if err != nil {
				logger.Error(fmt.Sprintf("Error statting configuration file: %v", err))
				continue
			}

			if fileInfo.ModTime().After(lastModified) {
				// Wait a bit to ensure file write is complete

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…