namespace Ocelot.Provider.Consul { using Configuration.Repository; using DependencyInjection; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; using Middleware; using ServiceDiscovery; public static class OcelotBuilderExtensions { public static IOcelotBuilder AddConsul(this IOcelotBuilder builder) { builder.Services.AddSingleton(ConsulProviderFactory.Get); builder.Services.AddSingleton(); builder.Services.RemoveAll(typeof(IFileConfigurationPollerOptions)); builder.Services.AddSingleton(); return builder; } public static IOcelotBuilder AddConfigStoredInConsul(this IOcelotBuilder builder) { builder.Services.AddSingleton(ConsulMiddlewareConfigurationProvider.Get); builder.Services.AddHostedService(); builder.Services.AddSingleton(); return builder; } } }