INNER CODE UNIT · Go
func
jcmoraisjr/haproxy-ingress · pkg/acme/server.go:56
func (s *server) Listen(stopCh <-chan struct{}) error {
handler := http.NewServeMux()
handler.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
host := r.Host
uri := r.URL.Path
token := s.resolver.GetToken(host, uri)
if token == "" {
w.WriteHeader(http.StatusNotFound)
fmt.Fprint(w, "404 not found\n")
s.logger.Warn("acme: url token not found: domain=%s uri=%s", host, uri)
return
}
fmt.Fprint(w, token)
s.logger.Info("acme: request token: domain=%s uri=%s", host, uri)
})
s.server = &http.Server{Addr: s.socket, Handler: handler}
if err := os.Remove(s.server.Addr); err != nil && !os.IsNotExist(err) {
s.logger.Warn("error removing an existent acme socket: %v", err)