[MM-60648] Don't start server until all routes are registered (#28291)

This commit is contained in:
Ben Schumacher
2024-09-26 13:57:48 +02:00
committed by GitHub
parent 20ed58906a
commit 3428cd15b6
3 changed files with 9 additions and 14 deletions
+6
View File
@@ -11,6 +11,7 @@ import (
"github.com/mattermost/mattermost/server/public/model"
"github.com/mattermost/mattermost/server/v8/channels/app"
"github.com/mattermost/mattermost/server/v8/channels/manualtesting"
"github.com/mattermost/mattermost/server/v8/channels/web"
)
@@ -337,6 +338,11 @@ func Init(srv *app.Server) (*API, error) {
api.InitOutgoingOAuthConnection()
api.InitClientPerformanceMetrics()
// If we allow testing then listen for manual testing URL hits
if *srv.Config().ServiceSettings.EnableTesting {
api.BaseRoutes.Root.Handle("/manualtest", api.APIHandler(manualtesting.ManualTest)).Methods(http.MethodGet)
}
srv.Router.Handle("/api/v4/{anything:.*}", http.HandlerFunc(api.Handle404))
InitLocal(srv)
@@ -15,7 +15,6 @@ import (
"github.com/mattermost/mattermost/server/public/model"
"github.com/mattermost/mattermost/server/public/shared/mlog"
"github.com/mattermost/mattermost/server/v8/channels/api4"
"github.com/mattermost/mattermost/server/v8/channels/app"
"github.com/mattermost/mattermost/server/v8/channels/app/slashcommands"
"github.com/mattermost/mattermost/server/v8/channels/store"
@@ -34,12 +33,7 @@ type TestEnvironment struct {
Request *http.Request
}
// Init adds manualtest endpoint to the API.
func Init(api4 *api4.API) {
api4.BaseRoutes.Root.Handle("/manualtest", api4.APIHandler(manualTest)).Methods(http.MethodGet)
}
func manualTest(c *web.Context, w http.ResponseWriter, r *http.Request) {
func ManualTest(c *web.Context, w http.ResponseWriter, r *http.Request) {
// Let the world know
c.Logger.Info("Setting up for manual test...")
+2 -7
View File
@@ -18,7 +18,6 @@ import (
"github.com/mattermost/mattermost/server/public/shared/mlog"
"github.com/mattermost/mattermost/server/v8/channels/api4"
"github.com/mattermost/mattermost/server/v8/channels/app"
"github.com/mattermost/mattermost/server/v8/channels/manualtesting"
"github.com/mattermost/mattermost/server/v8/channels/utils"
"github.com/mattermost/mattermost/server/v8/channels/web"
"github.com/mattermost/mattermost/server/v8/channels/wsapi"
@@ -93,11 +92,12 @@ func runServer(configStore *config.Store, interruptChan chan os.Signal) error {
}
}()
api, err := api4.Init(server)
_, err = api4.Init(server)
if err != nil {
mlog.Error(err.Error())
return err
}
wsapi.Init(server)
web.New(server)
@@ -107,11 +107,6 @@ func runServer(configStore *config.Store, interruptChan chan os.Signal) error {
return err
}
// If we allow testing then listen for manual testing URL hits
if *server.Config().ServiceSettings.EnableTesting {
manualtesting.Init(api)
}
notifyReady()
// wait for kill signal before attempting to gracefully shutdown