Fix chat embed redirect breaking chat embeds. Closes #2739

This commit is contained in:
Gabe Kangas 2023-02-26 14:20:31 -08:00
parent 0c133053bb
commit d61e14fb4c
No known key found for this signature in database
GPG key ID: 4345B2060657F330

View file

@ -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)
}