package http import ( "context" "fmt" "net/http" dsHTTP "edge-infra.dev/pkg/edge/datasync/http" commonCfg "edge-infra.dev/pkg/edge/datasync/internal/config" "edge-infra.dev/pkg/edge/datasync/kafkaclient" ) func NewLivenessServer(pinger kafkaclient.Pinger, shouldRun chan bool, cfg *commonCfg.Config) *dsHTTP.Server { serverMux := http.NewServeMux() serverMux.HandleFunc("/healthz", healthCheckHandler(pinger)) return dsHTTP.NewServer(cfg.LivenessPort, serverMux, shouldRun) } func healthCheckHandler(pinger kafkaclient.Pinger) http.HandlerFunc { return func(w http.ResponseWriter, _ *http.Request) { ctx := context.Background() err := pinger.Ping(ctx) if err != nil { fmt.Fprintf(w, "down") return } fmt.Fprintf(w, "up") } }