in graphql-dgs-spring-graphql/src/main/kotlin/com/netflix/graphql/dgs/springgraphql/SpringGraphQLDgsReactiveQueryExecutor.kt [44:83]
override fun execute(
@Language("graphql") query: String,
variables: Map<String, Any>?,
extensions: Map<String, Any>?,
headers: HttpHeaders?,
operationName: String?,
serverRequest: ServerRequest?,
): Mono<ExecutionResult> {
val request =
DefaultExecutionGraphQlRequest(
query,
operationName,
variables,
extensions,
"",
null,
)
lateinit var graphQLContext: GraphQLContext
val dataLoaderRegistry = dgsDataLoaderProvider.buildRegistryWithContextSupplier { graphQLContext }
return dgsContextBuilder
.build(DgsReactiveRequestData(request.extensions, headers, serverRequest))
.flatMap { context ->
request.configureExecutionInput { _, builder ->
builder
.context(context)
.graphQLContext(context)
.dataLoaderRegistry(dataLoaderRegistry)
.build()
}
graphQLContext = request.toExecutionInput().graphQLContext
executionService.execute(
request,
)
}.map { response ->
response.executionResult
}
}