diff --git a/server/server.go b/server/server.go index 84c66455f52ea5d67d5af11e732396f2ba82362a..31f9af01c3bd0de7add977fdf8e475f50d66915c 100644 --- a/server/server.go +++ b/server/server.go @@ -17,8 +17,10 @@ "time" work "git.sr.ht/~sircmpwn/dowork" "github.com/99designs/gqlgen/graphql" + "github.com/99designs/gqlgen/graphql/handler" + "github.com/99designs/gqlgen/graphql/handler/extension" + "github.com/99designs/gqlgen/graphql/handler/transport" "github.com/99designs/gqlgen/graphql/playground" - "github.com/99designs/gqlgen/handler" "github.com/go-chi/chi/v5" "github.com/go-chi/chi/v5/middleware" goRedis "github.com/go-redis/redis/v8" @@ -108,10 +110,14 @@ } else { server.MaxComplexity = 250 } - srv := handler.GraphQL(schema, - handler.ComplexityLimit(server.MaxComplexity), - handler.RecoverFunc(EmailRecover), - handler.UploadMaxSize(1073741824)) // 1 GiB (TODO: configurable?) + srv := handler.New(schema) + srv.Use(extension.FixedComplexityLimit(server.MaxComplexity)) + srv.SetRecoverFunc(EmailRecover) + srv.AddTransport(transport.POST{}) + srv.AddTransport(transport.MultipartForm{ + MaxMemory: 33554432, // 32 MiB (up to this handled in memory) + MaxUploadSize: 1073741824, // 1 GiB (TODO: configurable?) + }) server.router.Handle("/query", srv)