public GraphQLConfiguration graphQLConfiguration(
      final List<String> hostsAllowlist, final String defaultHostAddress, final Long timoutSec) {
    final GraphQLConfiguration graphQLConfiguration = GraphQLConfiguration.createDefault();
    graphQLConfiguration.setEnabled(isGraphQLHttpEnabled);
    graphQLConfiguration.setHost(
        Strings.isNullOrEmpty(graphQLHttpHost) ? defaultHostAddress : graphQLHttpHost);
    graphQLConfiguration.setPort(graphQLHttpPort);
    graphQLConfiguration.setHostsAllowlist(hostsAllowlist);
    graphQLConfiguration.setCorsAllowedDomains(graphQLHttpCorsAllowedOrigins);
    graphQLConfiguration.setHttpTimeoutSec(timoutSec);
    graphQLConfiguration.setTlsEnabled(graphqlTlsEnabled);
    graphQLConfiguration.setTlsKeyStorePath(graphqlTlsKeystoreFile);
    graphQLConfiguration.setTlsKeyStorePasswordFile(graphqlTlsKeystorePasswordFile);
    graphQLConfiguration.setMtlsEnabled(graphqlMtlsEnabled);
    graphQLConfiguration.setTlsTrustStorePath(graphqlTlsTruststoreFile);
    graphQLConfiguration.setTlsTrustStorePasswordFile(graphqlTlsTruststorePasswordFile);

    return graphQLConfiguration;
  }
Creates a GraphQLConfiguration based on the provided options.

@param hostsAllowlist List of hosts allowed
@param defaultHostAddress Default host address
@param timoutSec Timeout in seconds
@return A GraphQLConfiguration instance
app/src/main/java/org/hyperledger/besu/cli/options/GraphQlOptions.java