public static IWebSocketGremlinQueryEnvironmentBuilder Configure(this IWebSocketGremlinQueryEnvironmentBuilder builder, IConfiguration configuration) { var authenticationSection = configuration.GetSection("Authentication"); var connectionPoolSection = configuration.GetSection("ConnectionPool"); builder = builder .At(configuration.GetRequiredConfiguration("Uri")) .ConfigureConnectionPool(connectionPoolSettings => { if (int.TryParse(connectionPoolSection[$"{nameof(ConnectionPoolSettings.MaxInProcessPerConnection)}"], out var maxInProcessPerConnection)) { connectionPoolSettings.MaxInProcessPerConnection = maxInProcessPerConnection; } if (int.TryParse(connectionPoolSection[$"{nameof(ConnectionPoolSettings.PoolSize)}"], out var poolSize)) { connectionPoolSettings.PoolSize = poolSize; } }); if (configuration["Alias"] is { } alias) { builder = builder.SetAlias(alias); } if (authenticationSection["Username"] is { } username&& authenticationSection["Password"] is { } password) { builder = builder.AuthenticateBy(username, password); } if (Enum.TryParse <SerializationFormat>(configuration[$"{nameof(SerializationFormat)}"], out var graphsonVersion)) { builder = builder.SetSerializationFormat(graphsonVersion); } return(new LogConfigurationWebSocketGremlinQueryEnvironmentBuilder(builder, configuration)); }
IWebSocketGremlinQueryEnvironmentBuilder IWebSocketGremlinQueryEnvironmentBuilder.AuthenticateBy(string username, string password) { return(_baseBuilder.AuthenticateBy(username, password)); }