diff --git a/gaseous-server/Classes/Common.cs b/gaseous-server/Classes/Common.cs index 81d5dea5..519776b1 100644 --- a/gaseous-server/Classes/Common.cs +++ b/gaseous-server/Classes/Common.cs @@ -1,5 +1,4 @@ -using System; -using System.Collections.Concurrent; +using System.Collections.Concurrent; using System.Security.Cryptography; namespace gaseous_server.Classes @@ -137,5 +136,4 @@ public static void SetData(string name, object data) => public static object GetData(string name) => state.TryGetValue(name, out AsyncLocal data) ? data.Value : null; } -} - +} \ No newline at end of file diff --git a/gaseous-server/Classes/Logging.cs b/gaseous-server/Classes/Logging.cs index dfa9447c..c6ccdc74 100644 --- a/gaseous-server/Classes/Logging.cs +++ b/gaseous-server/Classes/Logging.cs @@ -76,23 +76,37 @@ static public void Log(LogType EventType, string ServerProcess, string Message, } string correlationId; - if (CallContext.GetData("CorrelationId").ToString() == null) + try { - correlationId = ""; + if (CallContext.GetData("CorrelationId").ToString() == null) + { + correlationId = ""; + } + else + { + correlationId = CallContext.GetData("CorrelationId").ToString(); + } } - else + catch { - correlationId = CallContext.GetData("CorrelationId").ToString(); + correlationId = ""; } string callingProcess; - if (CallContext.GetData("CallingProcess").ToString() == null) + try { - callingProcess = ""; + if (CallContext.GetData("CallingProcess").ToString() == null) + { + callingProcess = ""; + } + else + { + callingProcess = CallContext.GetData("CallingProcess").ToString(); + } } - else + catch { - callingProcess = CallContext.GetData("CallingProcess").ToString(); + callingProcess = ""; } Database db = new Database(Database.databaseType.MySql, Config.DatabaseConfiguration.ConnectionString); diff --git a/gaseous-server/Controllers/V1.0/FilterController.cs b/gaseous-server/Controllers/V1.0/FilterController.cs index 422d7d76..ad25624d 100644 --- a/gaseous-server/Controllers/V1.0/FilterController.cs +++ b/gaseous-server/Controllers/V1.0/FilterController.cs @@ -18,7 +18,7 @@ namespace gaseous_server.Controllers [ApiVersion("1.1")] [Authorize] [ApiController] - public class FilterController : ControllerBase + public class FilterController : Controller { private readonly UserManager _userManager; private readonly SignInManager _signInManager; diff --git a/gaseous-server/Controllers/V1.0/GamesController.cs b/gaseous-server/Controllers/V1.0/GamesController.cs index 0f4e6342..9c55f1b4 100644 --- a/gaseous-server/Controllers/V1.0/GamesController.cs +++ b/gaseous-server/Controllers/V1.0/GamesController.cs @@ -22,7 +22,7 @@ namespace gaseous_server.Controllers [ApiVersion("1.1")] [Authorize] [ApiController] - public class GamesController : ControllerBase + public class GamesController : Controller { [MapToApiVersion("1.0")] [HttpGet] diff --git a/gaseous-server/Controllers/V1.0/RomsController.cs b/gaseous-server/Controllers/V1.0/RomsController.cs index e2129d84..167604e1 100644 --- a/gaseous-server/Controllers/V1.0/RomsController.cs +++ b/gaseous-server/Controllers/V1.0/RomsController.cs @@ -22,7 +22,7 @@ namespace gaseous_server.Controllers [ApiVersion("1.1")] [Authorize] [ApiController] - public class RomsController : ControllerBase + public class RomsController : Controller { [MapToApiVersion("1.0")] [MapToApiVersion("1.1")] diff --git a/gaseous-server/Controllers/V1.0/SignaturesController.cs b/gaseous-server/Controllers/V1.0/SignaturesController.cs index 5eb0e072..40401255 100644 --- a/gaseous-server/Controllers/V1.0/SignaturesController.cs +++ b/gaseous-server/Controllers/V1.0/SignaturesController.cs @@ -18,7 +18,7 @@ namespace gaseous_server.Controllers [ApiVersion("1.0")] [ApiVersion("1.1")] [Authorize] - public class SignaturesController : ControllerBase + public class SignaturesController : Controller { /// /// Get the current signature counts from the database diff --git a/gaseous-server/Program.cs b/gaseous-server/Program.cs index 26c9134c..0d876aa7 100644 --- a/gaseous-server/Program.cs +++ b/gaseous-server/Program.cs @@ -295,29 +295,22 @@ await roleManager.CreateAsync(applicationRole, CancellationToken.None); } } - - // // set up administrator account - // var userManager = scope.ServiceProvider.GetRequiredService(); - // if (await userManager.FindByNameAsync("admin@localhost", CancellationToken.None) == null) - // { - // ApplicationUser adminUser = new ApplicationUser{ - // Id = Guid.NewGuid().ToString(), - // Email = "admin@localhost", - // NormalizedEmail = "ADMIN@LOCALHOST", - // EmailConfirmed = true, - // UserName = "administrator", - // NormalizedUserName = "ADMINISTRATOR" - // }; - - // //set user password - // PasswordHasher ph = new PasswordHasher(); - // adminUser.PasswordHash = ph.HashPassword(adminUser, "letmein"); - - // await userManager.CreateAsync(adminUser, CancellationToken.None); - // await userManager.AddToRoleAsync(adminUser, "Admin", CancellationToken.None); - // } } + + + +app.Use(async (context, next) => +{ + // set the correlation id + string correlationId = Guid.NewGuid().ToString(); + CallContext.SetData("CorrelationId", correlationId); + CallContext.SetData("CallingProcess", context.Request.Method + ": " + context.Request.Path); + + context.Response.Headers.Add("x-correlation-id", correlationId.ToString()); + await next(); +}); + app.UseAuthorization(); app.UseDefaultFiles(); diff --git a/gaseous-server/Support/Database/MySQL/gaseous-1008.sql b/gaseous-server/Support/Database/MySQL/gaseous-1008.sql index ed3c3fee..603ce77b 100644 --- a/gaseous-server/Support/Database/MySQL/gaseous-1008.sql +++ b/gaseous-server/Support/Database/MySQL/gaseous-1008.sql @@ -21,6 +21,6 @@ ADD INDEX `idx_SecondaryColumn` (`ThemesId` ASC) VISIBLE; ALTER TABLE `ServerLogs` ADD COLUMN `CorrelationId` VARCHAR(45) NULL AFTER `Exception`, -ADD COLUMN `CallingProcess` VARCHAR(45) NULL AFTER `CorrelationId`, +ADD COLUMN `CallingProcess` VARCHAR(255) NULL AFTER `CorrelationId`, ADD INDEX `idx_CorrelationId` (`CorrelationId` ASC) VISIBLE, ADD INDEX `idx_CallingProcess` (`CallingProcess` ASC) VISIBLE; \ No newline at end of file