public async Task Init(IServiceProvider serviceProvider) { _config = await LoadConfig(); _httpEngine = new HttpEngine(Path.GetFullPath(_config.SitesPath), _config.LogLevel); await _httpEngine.Load(); }
public async Task <HttpModuleConfig> LoadConfig() { string fileName = Path.Combine(PathExt.GetConfigPath(true, "http"), "config.json"); if (File.Exists(fileName)) { await using var fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read); return(await JsonSerializer.DeserializeAsync <HttpModuleConfig>(fileStream)); } else { await using var fileStream = new FileStream(fileName, FileMode.Create, FileAccess.ReadWrite, FileShare.Read); var config = new HttpModuleConfig(); await JsonSerializer.SerializeAsync(fileStream, config, new JsonSerializerOptions { WriteIndented = true }); return(config); } }