public CassandraCluster()

in src/Shared/Infrastructure/Infrastructure.Persistence/CassandraCluster.cs [39:67]


        public CassandraCluster(IOptions<CassandraOptions> options)
        {
            var config = options.Value;
            var clusterBuilder = Cluster.Builder()
                .AddContactPoints(config.ContactPoints)
                .WithDefaultKeyspace(config.Keyspace);

            if (config.Credentials != null)
            {
                clusterBuilder.WithCredentials(config.Credentials.UserName, config.Credentials.Password);
            }

            if (config.Port.HasValue)
            {
                clusterBuilder.WithPort(config.Port.Value);
            }

            if (config.Ssl != null && Enum.TryParse<SslProtocols>(config.Ssl.Protocol, out var sslProtocol))
            {
                var checkCertificationRevocation =
                    config.Ssl.CheckCertificateRevocation.GetValueOrDefault();
                var sslOptions = new SSLOptions(sslProtocol, checkCertificationRevocation, ValidateServerCertificate);
                sslOptions.SetHostNameResolver((ipAddress) => config.ContactPoints.FirstOrDefault());
                clusterBuilder.WithSSL(sslOptions);
            }

            Cluster = clusterBuilder.Build();
            CreateTablesIfNeeded();
        }