Esempio n. 1
0
        public async Task Init(IServiceProvider serviceProvider)
        {
            _config = await LoadConfig();

            _httpEngine = new HttpEngine(Path.GetFullPath(_config.SitesPath), _config.LogLevel);
            await _httpEngine.Load();
        }
Esempio n. 2
0
        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);
            }
        }