open fun sourceBuilderCustomizer()

in graphql-dgs-spring-graphql/src/main/kotlin/com/netflix/graphql/dgs/springgraphql/autoconfig/DgsSpringGraphQLAutoConfiguration.kt [495:520]


    open fun sourceBuilderCustomizer(
        preparsedDocumentProvider: Optional<PreparsedDocumentProvider>,
        @Qualifier("query") providedQueryExecutionStrategy: Optional<ExecutionStrategy>,
        @Qualifier("mutation") providedMutationExecutionStrategy: Optional<ExecutionStrategy>,
        dataFetcherExceptionHandler: DataFetcherExceptionHandler,
        environment: Environment,
    ): GraphQlSourceBuilderCustomizer =
        GraphQlSourceBuilderCustomizer { builder ->
            builder.configureGraphQl { graphQlBuilder ->
                val apqEnabled = environment.getProperty("dgs.graphql.apq.enabled", Boolean::class.java, false)
                // If apq is enabled, we will not use this preparsedDocumentProvider and use DgsAPQPreparsedDocumentProviderWrapper instead
                if (preparsedDocumentProvider.isPresent && !apqEnabled) {
                    graphQlBuilder.preparsedDocumentProvider(preparsedDocumentProvider.get())
                }

                if (providedQueryExecutionStrategy.isPresent) {
                    graphQlBuilder
                        .queryExecutionStrategy(providedQueryExecutionStrategy.get())
                }

                if (providedMutationExecutionStrategy.isPresent) {
                    graphQlBuilder
                        .mutationExecutionStrategy(providedMutationExecutionStrategy.get())
                }
            }
        }