public GraphQLAzureFunctionsMiddlewareProxy( IRequestExecutorResolver graphQLExecutorResolver, IHttpResultSerializer graphQLResultSerializer, IHttpRequestParser graphQLRequestParser, NameString schemaName = default, GraphQLAzureFunctionsConfigOptions options = null ) { //We support multiple schemas by allowing a name to be specified, but default to DefaultName if not. this.SchemaName = schemaName.HasValue ? schemaName : Schema.DefaultName; //Initialize the Server Options with defaults! this.Options = options ?? new GraphQLAzureFunctionsConfigOptions(); //Validate Dependencies... this.ExecutorResolver = graphQLExecutorResolver ?? throw new ArgumentNullException(nameof(graphQLExecutorResolver), GRAPHQL_MIDDLEWARE_INIT_ERROR); this.ResultSerializer = graphQLResultSerializer ?? throw new ArgumentNullException(nameof(graphQLResultSerializer), GRAPHQL_MIDDLEWARE_INIT_ERROR); this.RequestParser = graphQLRequestParser ?? throw new ArgumentNullException(nameof(graphQLRequestParser), GRAPHQL_MIDDLEWARE_INIT_ERROR); //The File Provider is initialized internally as an EmbeddedFileProvider this.FileProvider = GraphQLInitHelpers.CreateEmbeddedFileProvider(); //Set the RoutePath; a dependency of all dynamic file serving Middleware! this.RoutePath = new PathString(Options.AzureFunctionsRoutePath); //Initialize the Primary Middleware (POST) as needed for references to GetExecutorAsync() for Error Handling, etc.... //NOTE: This will also return the Middleware to be used as the primary reference. this.PrimaryMiddleware = ConfigureMiddlewareChainOfResponsibility(); }
public GraphQLAzureFunctionsExecutorProxyV11Plus( IRequestExecutorResolver graphQLExecutorResolver, IHttpResultSerializer graphQLResultSerializer, IHttpRequestParser graphQLRequestParser, NameString schemaName = default, GraphQLAzureFunctionsConfigOptions options = null ) { this.AzureFunctionsMiddlewareProxy = new GraphQLAzureFunctionsMiddlewareProxy( graphQLExecutorResolver, graphQLResultSerializer, graphQLRequestParser, schemaName, options ); }