using Microsoft.Extensions.Configuration; namespace Core.Blueprint.External.GatewayConfigurations { public class GatewaySettingsConfigurations { private static GatewayConfiguration GatewayConfigurations { get; set; } = new GatewayConfiguration(); private readonly IConfiguration _configuration; public GatewaySettingsConfigurations(IConfiguration configuration) { _configuration = configuration; SetBlueprintServiceAPIEndpoint(); } public static BlueprintServiceAPI GetBlueprintServiceAPIEndpoint() { return GatewayConfigurations.BlueprintService; } private GatewayConfiguration SetBlueprintServiceAPIEndpoint() { IConfigurationSection source; var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? string.Empty; if (environment == "Local") source = _configuration.GetSection("LocalGateways"); else source = _configuration.GetSection("Gateways"); var endpoint = source["BlueprintService"] ?? string.Empty; GatewayConfigurations.BlueprintService = new BlueprintServiceAPI() { Endpoint = new BaseEndpoint() { Uri = new Uri(endpoint), Url = endpoint, Token = string.Empty, APIName = "Blueprint Service" } }; return GatewayConfigurations; } } }