package main

import (
	"log"
	"net/http"

	"github.com/spf13/viper"
	ov "github.com/tidbcloud/config-service/oneconfig/viper"
)

func main() {
	v := viper.New()
	err := v.AddRemoteProvider(ov.Provider, ov.Endpoint, "nightly/oneconfig-central/config.yaml")
	if err != nil {
		panic(err)
	}
	v.SetConfigType("yaml")
	err = v.ReadRemoteConfig()
	if err != nil {
		panic(err)
	}
	err = v.WatchRemoteConfigOnChannel()
	if err != nil {
		panic(err)
	}

	log.Println("start server")
	mux := http.NewServeMux()
	mux.HandleFunc("/", func(writer http.ResponseWriter, request *http.Request) {
		s := v.GetString("logLevel")
		_, err := writer.Write([]byte(s))
		if err != nil {
			panic(err)
		}
	})
	log.Fatal(http.ListenAndServe(":10070", mux))
}
