diff options
Diffstat (limited to 'build/gobind/monolith.go')
-rw-r--r-- | build/gobind/monolith.go | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/build/gobind/monolith.go b/build/gobind/monolith.go index e4373490..2ea09f63 100644 --- a/build/gobind/monolith.go +++ b/build/gobind/monolith.go @@ -8,6 +8,7 @@ import ( "net/http" "time" + "github.com/gorilla/mux" "github.com/matrix-org/dendrite/appservice" "github.com/matrix-org/dendrite/cmd/dendrite-demo-yggdrasil/signing" "github.com/matrix-org/dendrite/cmd/dendrite-demo-yggdrasil/yggconn" @@ -170,16 +171,22 @@ func (m *DendriteMonolith) Start() { ygg, fsAPI, federation, ), } - monolith.AddAllPublicRoutes(base.PublicAPIMux) - - httputil.SetupHTTPAPI( - base.BaseMux, - base.PublicAPIMux, - base.InternalAPIMux, - &cfg.Global, - base.UseHTTPAPIs, + monolith.AddAllPublicRoutes( + base.PublicClientAPIMux, + base.PublicFederationAPIMux, + base.PublicKeyAPIMux, + base.PublicMediaAPIMux, ) + httpRouter := mux.NewRouter() + httpRouter.PathPrefix(httputil.InternalPathPrefix).Handler(base.InternalAPIMux) + httpRouter.PathPrefix(httputil.PublicClientPathPrefix).Handler(base.PublicClientAPIMux) + httpRouter.PathPrefix(httputil.PublicMediaPathPrefix).Handler(base.PublicMediaAPIMux) + + yggRouter := mux.NewRouter() + yggRouter.PathPrefix(httputil.PublicFederationPathPrefix).Handler(base.PublicFederationAPIMux) + yggRouter.PathPrefix(httputil.PublicMediaPathPrefix).Handler(base.PublicMediaAPIMux) + // Build both ends of a HTTP multiplex. m.httpServer = &http.Server{ Addr: ":0", @@ -190,7 +197,7 @@ func (m *DendriteMonolith) Start() { BaseContext: func(_ net.Listener) context.Context { return context.Background() }, - Handler: base.BaseMux, + Handler: yggRouter, } go func() { @@ -198,8 +205,8 @@ func (m *DendriteMonolith) Start() { m.logger.Fatal(m.httpServer.Serve(ygg)) }() go func() { - m.logger.Info("Listening on ", m.BaseURL()) - m.logger.Fatal(m.httpServer.Serve(m.listener)) + logrus.Info("Listening on ", m.listener.Addr()) + logrus.Fatal(http.Serve(m.listener, httpRouter)) }() go func() { logrus.Info("Sending wake-up message to known nodes") |