diff --git a/DigitalData.Swagger/src/DigitalData.Swagger.Proxy/Configs/OriginServerParams.cs b/DigitalData.Swagger/src/DigitalData.Swagger.Proxy/Configs/OriginServerParams.cs new file mode 100644 index 0000000..9dad8d8 --- /dev/null +++ b/DigitalData.Swagger/src/DigitalData.Swagger.Proxy/Configs/OriginServerParams.cs @@ -0,0 +1,9 @@ +namespace DigitalData.Swagger.Proxy.Configs +{ + public class OriginServerParams + { + public required string Url { get; init; } + + public Dictionary? Headers { get; init; } + } +} \ No newline at end of file diff --git a/DigitalData.Swagger/src/DigitalData.Swagger.Proxy/Program.cs b/DigitalData.Swagger/src/DigitalData.Swagger.Proxy/Program.cs index 0370f0a..e3f8e0e 100644 --- a/DigitalData.Swagger/src/DigitalData.Swagger.Proxy/Program.cs +++ b/DigitalData.Swagger/src/DigitalData.Swagger.Proxy/Program.cs @@ -1,5 +1,9 @@ +using DigitalData.Swagger.Proxy.Configs; + var builder = WebApplication.CreateBuilder(args); +var config = builder.Configuration; + // Add services to the container. builder.Services.AddControllers(); @@ -7,6 +11,11 @@ builder.Services.AddControllers(); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); +var originServerSection = config.GetRequiredSection("OriginServer") + ?? throw new InvalidOperationException("The 'OriginServer' section is missing or incorrectly configured in the application configuration."); + +builder.Services.Configure(originServerSection); + var app = builder.Build(); // use swagger in production