From d61e14fb4c84656b30471eadb6ca1b90fe3670c7 Mon Sep 17 00:00:00 2001 From: Gabe Kangas Date: Sun, 26 Feb 2023 14:20:31 -0800 Subject: [PATCH] Fix chat embed redirect breaking chat embeds. Closes #2739 --- router/router.go | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/router/router.go b/router/router.go index 1dca161b3..63bd17401 100644 --- a/router/router.go +++ b/router/router.go @@ -394,26 +394,24 @@ func Start() error { // Optional public static files http.Handle("/public/", http.StripPrefix("/public/", http.FileServer(http.Dir(config.PublicFilesPath)))) - // Redirect /embed/chat - http.HandleFunc("/embed/chat/", func(w http.ResponseWriter, r *http.Request) { - if r.URL.Path == "/embed/chat/" || r.URL.Path == "/embed/chat" { - http.Redirect(w, r, "/embed/chat/readonly", http.StatusTemporaryRedirect) - } - }) - port := config.WebServerPort ip := config.WebServerIP + h2s := &http2.Server{} + // Create a custom mux handler to intercept the /debug/vars endpoint. // This is a hack because Prometheus enables this endpoint by default // due to its use of expvar and we do not want this exposed. - h2s := &http2.Server{} defaultMux := h2c.NewHandler(http.DefaultServeMux, h2s) m := http.NewServeMux() + m.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { if r.URL.Path == "/debug/vars" { w.WriteHeader(http.StatusNotFound) return + } else if r.URL.Path == "/embed/chat/" || r.URL.Path == "/embed/chat" { + // Redirect /embed/chat + http.Redirect(w, r, "/embed/chat/readonly", http.StatusTemporaryRedirect) } else { defaultMux.ServeHTTP(w, r) }