diff --git a/gateway.go b/gateway.go index a14d57e..d8c4848 100644 --- a/gateway.go +++ b/gateway.go @@ -42,9 +42,12 @@ func (g *Gateway) UpdateSchemas(interval time.Duration) { func (g *Gateway) Router(cfg *Config) http.Handler { mux := http.NewServeMux() + gatewayHandler := handler.New(g.ExecutableSchema) + for _, plugin := range g.plugins { + plugin.SetupGatewayHandler(gatewayHandler) + } // Duplicated from `handler.NewDefaultServer` minus // the websocket transport and persisted query extension - gatewayHandler := handler.New(g.ExecutableSchema) gatewayHandler.AddTransport(transport.Options{}) gatewayHandler.AddTransport(transport.GET{}) gatewayHandler.AddTransport(transport.POST{}) @@ -53,10 +56,6 @@ func (g *Gateway) Router(cfg *Config) http.Handler { gatewayHandler.Use(extension.Introspection{}) } - for _, plugin := range g.plugins { - plugin.SetupGatewayHandler(gatewayHandler) - } - mux.Handle("/query", applyMiddleware(otelhttp.NewHandler(gatewayHandler, "/query"), debugMiddleware)) for _, plugin := range g.plugins {