diff --git a/DysonNetwork.Gateway/Configuration/ConfigurationController.cs b/DysonNetwork.Gateway/Configuration/ConfigurationController.cs new file mode 100644 index 0000000..51d89c6 --- /dev/null +++ b/DysonNetwork.Gateway/Configuration/ConfigurationController.cs @@ -0,0 +1,12 @@ +using Microsoft.AspNetCore.Mvc; + +[ApiController] +[Route("config")] +public class ConfigurationController(IConfiguration configuration) : ControllerBase +{ + [HttpGet] + public IActionResult Get() => Ok(configuration.GetSection("Client").Get>()); + + [HttpGet("site")] + public IActionResult GetSiteUrl() => Ok(configuration["SiteUrl"]); +} \ No newline at end of file diff --git a/DysonNetwork.Gateway/Program.cs b/DysonNetwork.Gateway/Program.cs index c195caf..17fb0c7 100644 --- a/DysonNetwork.Gateway/Program.cs +++ b/DysonNetwork.Gateway/Program.cs @@ -87,7 +87,7 @@ var swaggerRoutes = serviceNames.Select(serviceName => new RouteConfig RouteId = $"{serviceName}-swagger", ClusterId = serviceName, Match = new RouteMatch { Path = $"/swagger/{serviceName}/{{**catch-all}}" }, - Transforms = + Transforms = [ new Dictionary { { "PathRemovePrefix", $"/swagger/{serviceName}" } }, new Dictionary { { "PathPrefix", "/swagger" } } @@ -106,9 +106,11 @@ var clusters = serviceNames.Select(serviceName => new ClusterConfig }).ToArray(); builder.Services -.AddReverseProxy() -.LoadFromMemory(routes, clusters) -.AddServiceDiscoveryDestinationResolver(); + .AddReverseProxy() + .LoadFromMemory(routes, clusters) + .AddServiceDiscoveryDestinationResolver(); + +builder.Services.AddControllers(); var app = builder.Build(); @@ -118,4 +120,6 @@ app.UseRateLimiter(); app.MapReverseProxy().RequireRateLimiting("fixed"); +app.MapControllers(); + app.Run(); diff --git a/DysonNetwork.Gateway/appsettings.json b/DysonNetwork.Gateway/appsettings.json index ec04bc1..bbf72a8 100644 --- a/DysonNetwork.Gateway/appsettings.json +++ b/DysonNetwork.Gateway/appsettings.json @@ -5,5 +5,9 @@ "Microsoft.AspNetCore": "Warning" } }, - "AllowedHosts": "*" + "AllowedHosts": "*", + "SiteUrl": "http://localhost:3000", + "Client": { + "SomeSetting": "SomeValue" + } } \ No newline at end of file