func()

in pkg/server/server.go [25:50]


func (s *Server) Run() {
	proxyListener, err := NewListener(s.ProxyConfig)
	if err != nil {
		klog.Fatalf("could not start listener on %v: %v", s.ProxyConfig, err)
	}
	defer proxyListener.Close()
	s.listener = proxyListener

	klog.Infof("listening on %v", s.ProxyConfig)
	if s.serverReady != nil {
		s.serverReady <- true
		klog.Infof("notified serverReady channel for readiness")
	}

	s.httpServer = &http.Server{
		ErrorLog: log.New(os.Stdout, "[ProxyServer] ", 0),
		Handler:  s.createHandler(),
	}

	err = s.httpServer.Serve(proxyListener)
	if err != http.ErrServerClosed {
		klog.Fatalf("Proxy server exited unexpectedly: %v", err)
	} else {
		klog.Infof("Proxy server exited gracefully")
	}
}