private GraphQLResponse process(
      final String requestJson, final String operationName, final Map<String, Object> variables) {
    Map<GraphQLContextType, Object> contextMap = new ConcurrentHashMap<>();
    contextMap.putAll(graphQlContextMap);
    contextMap.put(
        GraphQLContextType.IS_ALIVE_HANDLER,
        new IsAliveHandler(scheduler, config.getHttpTimeoutSec()));
    final ExecutionInput executionInput =
        ExecutionInput.newExecutionInput()
            .query(requestJson)
            .operationName(operationName)
            .variables(variables)
            .graphQLContext(contextMap)
            .build();
    final ExecutionResult result = graphQL.execute(executionInput);
    final Map<String, Object> toSpecificationResult = result.toSpecification();
    final List<GraphQLError> errors = result.getErrors();
    if (errors.size() == 0) {
      return new GraphQLSuccessResponse(toSpecificationResult);
    } else {
      return new GraphQLErrorResponse(toSpecificationResult);
    }
  }
Returns the URL of the GraphQL HTTP service.

<p>This method constructs and returns the URL that the HTTP server is bound to. If the server
is not running, it returns an empty string.

@return the URL of the HTTP server, or an empty string if the server is not running.
ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/graphql/GraphQLHttpService.java