diff --git a/go.mod b/go.mod index 070d840..561cf57 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( github.com/coder/websocket v1.8.12 github.com/mattn/go-sqlite3 v1.14.23 github.com/rs/zerolog v1.33.0 - go.mau.fi/util v0.8.1-0.20241003092848-3b49d3e0b9ee + go.mau.fi/util v0.8.1-0.20241007163534-d608488d5cff go.mau.fi/zeroconfig v0.1.3 maunium.net/go/mauflag v1.0.0 maunium.net/go/mautrix v0.21.1-0.20241010172818-50f4a2eec193 diff --git a/go.sum b/go.sum index 1502fa9..8a06294 100644 --- a/go.sum +++ b/go.sum @@ -37,8 +37,8 @@ github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs= github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= -go.mau.fi/util v0.8.1-0.20241003092848-3b49d3e0b9ee h1:/BGpUK7fzVyFgy5KBiyP7ktEDn20vzz/5FTngrXtIEE= -go.mau.fi/util v0.8.1-0.20241003092848-3b49d3e0b9ee/go.mod h1:L9qnqEkhe4KpuYmILrdttKTXL79MwGLyJ4EOskWxO3I= +go.mau.fi/util v0.8.1-0.20241007163534-d608488d5cff h1:oQJHc5pdU9Xc6mhvfxSdWXoTreFYvlkM7g65MJWhR40= +go.mau.fi/util v0.8.1-0.20241007163534-d608488d5cff/go.mod h1:L9qnqEkhe4KpuYmILrdttKTXL79MwGLyJ4EOskWxO3I= go.mau.fi/zeroconfig v0.1.3 h1:As9wYDKmktjmNZW5i1vn8zvJlmGKHeVxHVIBMXsm4kM= go.mau.fi/zeroconfig v0.1.3/go.mod h1:NcSJkf180JT+1IId76PcMuLTNa1CzsFFZ0nBygIQM70= golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A= diff --git a/gomuks.go b/gomuks.go index f0dc225..7ca4a7e 100644 --- a/gomuks.go +++ b/gomuks.go @@ -36,6 +36,7 @@ import ( "github.com/rs/zerolog/hlog" "go.mau.fi/util/dbutil" "go.mau.fi/util/exerrors" + "go.mau.fi/util/exhttp" "go.mau.fi/util/exzerolog" "go.mau.fi/util/ptr" "go.mau.fi/util/requestlog" @@ -159,15 +160,12 @@ func (gmx *Gomuks) StartServer(addr string) { api := http.NewServeMux() api.HandleFunc("GET /websocket", gmx.HandleWebsocket) api.HandleFunc("GET /media/{server}/{media_id}", gmx.DownloadMedia) - middlewares := []func(http.Handler) http.Handler{ + apiHandler := exhttp.ApplyMiddleware( + http.StripPrefix("/_gomuks", api), hlog.NewHandler(*gmx.Log), hlog.RequestIDHandler("request_id", "Request-ID"), requestlog.AccessLogger(false), - } - apiHandler := http.StripPrefix("/_gomuks", api) - for _, middleware := range slices.Backward(middlewares) { - apiHandler = middleware(apiHandler) - } + ) router := http.NewServeMux() router.Handle("/_gomuks/", apiHandler) if frontend, err := fs.Sub(web.Frontend, "dist"); err != nil {