public static IWebSocketConfigurator ConfigureFrom( this IWebSocketConfigurator webSocketConfigurator, IConfiguration configuration) { var authenticationSection = configuration.GetSection("Authentication"); var connectionPoolSection = configuration.GetSection("ConnectionPool"); if (configuration["Uri"] is { } uri) { webSocketConfigurator = webSocketConfigurator.At(uri); } webSocketConfigurator .ConfigureClientFactory(factory => new ConnectionPoolSettingsGremlinClientFactory(factory, connectionPoolSection)); if (configuration["Alias"] is { } alias) { webSocketConfigurator = webSocketConfigurator.SetAlias(alias); } if (authenticationSection["Username"] is { } username&& authenticationSection["Password"] is { } password) { webSocketConfigurator = webSocketConfigurator.AuthenticateBy(username, password); } return(webSocketConfigurator); }
public static IWebSocketConfigurator ConfigureClient(this IWebSocketConfigurator configurator, Func <IGremlinClient, IGremlinClient> transformation) => configurator .ConfigureClientFactory(factory => GremlinClientFactory .Create((server, serializer, poolSettings, optionsTransformation, sessionId) => transformation(factory.Create(server, serializer, poolSettings, optionsTransformation, sessionId))));