diff --git a/ArchiSteamFarm/IPC/ArchiKestrel.cs b/ArchiSteamFarm/IPC/ArchiKestrel.cs index cd2cf1f70..d91fd6b8b 100644 --- a/ArchiSteamFarm/IPC/ArchiKestrel.cs +++ b/ArchiSteamFarm/IPC/ArchiKestrel.cs @@ -34,6 +34,8 @@ namespace ArchiSteamFarm.IPC { internal static class ArchiKestrel { private const string ConfigurationFile = nameof(IPC) + ".config"; + internal static string WebsiteDirectory { get; private set; } = Path.Combine(SharedInfo.HomeDirectory, SharedInfo.WebsiteDirectory); + internal static HistoryTarget HistoryTarget { get; private set; } private static IWebHost KestrelWebHost; @@ -60,9 +62,14 @@ namespace ArchiSteamFarm.IPC { // The order of dependency injection matters, pay attention to it IWebHostBuilder builder = new WebHostBuilder(); + string customDirectory = Path.Combine(Directory.GetCurrentDirectory(), SharedInfo.WebsiteDirectory); + if (Directory.Exists(customDirectory)) { + WebsiteDirectory = customDirectory; + } + // Set default directories builder.UseContentRoot(SharedInfo.HomeDirectory); - builder.UseWebRoot(SharedInfo.WebsiteDirectory); + builder.UseWebRoot(WebsiteDirectory); // Check if custom config is available string absoluteConfigDirectory = Path.Combine(Directory.GetCurrentDirectory(), SharedInfo.ConfigDirectory); diff --git a/ArchiSteamFarm/IPC/Controllers/Api/WWWController.cs b/ArchiSteamFarm/IPC/Controllers/Api/WWWController.cs index b33898862..40f309330 100644 --- a/ArchiSteamFarm/IPC/Controllers/Api/WWWController.cs +++ b/ArchiSteamFarm/IPC/Controllers/Api/WWWController.cs @@ -47,7 +47,7 @@ namespace ArchiSteamFarm.IPC.Controllers.Api { return BadRequest(new GenericResponse>(false, string.Format(Strings.ErrorIsEmpty, nameof(directory)))); } - string directoryPath = Path.Combine(SharedInfo.HomeDirectory, SharedInfo.WebsiteDirectory, directory); + string directoryPath = Path.Combine(ArchiKestrel.WebsiteDirectory, directory); if (!Directory.Exists(directoryPath)) { return BadRequest(new GenericResponse>(false, string.Format(Strings.ErrorIsInvalid, directory))); }