From 18f2f89ea1c0a5c92c183bbd59b03e6b6f265040 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Mar 2026 09:07:28 +0000 Subject: [PATCH 1/3] Initial plan From 3f406c037f045a3360f886754b74637d8217dc42 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Mar 2026 09:09:16 +0000 Subject: [PATCH 2/3] Refactor Startup.Configure helpers Co-authored-by: StuartFerguson <16325469+StuartFerguson@users.noreply.github.com> --- TransactionProcessor/Startup.cs | 81 ++++++++++++++++++--------------- 1 file changed, 44 insertions(+), 37 deletions(-) diff --git a/TransactionProcessor/Startup.cs b/TransactionProcessor/Startup.cs index 433e65f3..0380dee5 100644 --- a/TransactionProcessor/Startup.cs +++ b/TransactionProcessor/Startup.cs @@ -111,10 +111,7 @@ public void Configure(IApplicationBuilder app, Logger.Initialise(logger); Startup.Configuration.LogConfiguration(Logger.LogWarning); - - foreach (KeyValuePair type in TypeMap.Map) { - Logger.LogInformation($"Type name {type.Value} mapped to {type.Key.Name}"); - } + this.LogTypeMappings(); app.UseMiddleware(); app.AddRequestResponseLogging(); app.AddExceptionHandler(); @@ -125,44 +122,14 @@ public void Configure(IApplicationBuilder app, app.UseAuthorization(); app.UseMetricServer(s => { }); - app.UseEndpoints(endpoints => { - endpoints.MapControllers(); - endpoints.MapHealthChecks("health", - new HealthCheckOptions { - Predicate = _ => true, - ResponseWriter = Shared.HealthChecks.HealthCheckMiddleware.WriteResponse - }); - endpoints.MapHealthChecks("healthui", - new HealthCheckOptions - { - Predicate = _ => true, - ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse - }); - endpoints.MapEstateEndpoints(); - endpoints.MapMerchantEndpoints(); - endpoints.MapContractEndpoints(); - endpoints.MapOperatorEndpoints(); - endpoints.MapFloatEndpoints(); - endpoints.MapVoucherEndpoints(); - endpoints.MapTransactionEndpoints(); - endpoints.MapSettlementEndpoints(); - }); + this.ConfigureEndpoints(app); app.UseSwagger(); app.UseSwaggerUI(); app.PreWarm(); - - var loadedTokensAssemblies = AppDomain.CurrentDomain - .GetAssemblies() - .Where(a => a.GetName().Name == "Microsoft.IdentityModel.Tokens") - .ToList(); - - foreach (var asm in loadedTokensAssemblies) - { - Console.WriteLine($"[Trace] Tokens Assembly: {asm.Location} — Version: {asm.GetName().Version}"); - } + this.TraceLoadedTokenAssemblies(); } public void ConfigureContainer(ServiceRegistry services) { @@ -186,7 +153,47 @@ public void ConfigureContainer(ServiceRegistry services) { Startup.ServiceProvider = services.BuildServiceProvider(); } + + private void ConfigureEndpoints(IApplicationBuilder app) { + app.UseEndpoints(endpoints => { + endpoints.MapControllers(); + endpoints.MapHealthChecks("health", + new HealthCheckOptions { + Predicate = _ => true, + ResponseWriter = Shared.HealthChecks.HealthCheckMiddleware.WriteResponse + }); + endpoints.MapHealthChecks("healthui", + new HealthCheckOptions { + Predicate = _ => true, + ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse + }); + endpoints.MapEstateEndpoints(); + endpoints.MapMerchantEndpoints(); + endpoints.MapContractEndpoints(); + endpoints.MapOperatorEndpoints(); + endpoints.MapFloatEndpoints(); + endpoints.MapVoucherEndpoints(); + endpoints.MapTransactionEndpoints(); + endpoints.MapSettlementEndpoints(); + }); + } + + private void LogTypeMappings() { + foreach (KeyValuePair type in TypeMap.Map) { + Logger.LogInformation($"Type name {type.Value} mapped to {type.Key.Name}"); + } + } + + private void TraceLoadedTokenAssemblies() { + List loadedTokensAssemblies = AppDomain.CurrentDomain.GetAssemblies() + .Where(a => a.GetName().Name == "Microsoft.IdentityModel.Tokens") + .ToList(); + + foreach (Assembly asm in loadedTokensAssemblies) { + Console.WriteLine($"[Trace] Tokens Assembly: {asm.Location} � Version: {asm.GetName().Version}"); + } + } } #endregion -} \ No newline at end of file +} From 8cd88c5c1b2313b0df9a2121eba5be072b3341d1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Mar 2026 09:12:58 +0000 Subject: [PATCH 3/3] Fix Startup trace output string Co-authored-by: StuartFerguson <16325469+StuartFerguson@users.noreply.github.com> --- TransactionProcessor/Startup.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TransactionProcessor/Startup.cs b/TransactionProcessor/Startup.cs index 0380dee5..9d536234 100644 --- a/TransactionProcessor/Startup.cs +++ b/TransactionProcessor/Startup.cs @@ -190,7 +190,7 @@ private void TraceLoadedTokenAssemblies() { .ToList(); foreach (Assembly asm in loadedTokensAssemblies) { - Console.WriteLine($"[Trace] Tokens Assembly: {asm.Location} � Version: {asm.GetName().Version}"); + Console.WriteLine($"[Trace] Tokens Assembly: {asm.Location} - Version: {asm.GetName().Version}"); } } }