public static void AddParameterToGlobal(string key, string value) { SetCustomFile(); var type = Helper.ServiceData.SupposeDataType(value); var booleanVerbs = Helper.ServiceData.SupposeBooleanVerbs(value); var line = new LineModel { FilePath = $"{MntDir}/{AntdNginxFile}", Key = key, Value = value, Type = type, BooleanVerbs = booleanVerbs }; var shares = MapFile.Get().Share; var data = MapFile.Get().Data; data.Add(line); var nginx = new NginxModel { _Id = ServiceGuid, Guid = ServiceGuid, Timestamp = Timestamp.Now, Share = shares, Data = data }; DeNSo.Session.New.Set(nginx); }
public static void SaveShareConfig(string fileName, string name, string queryName, List <ServiceNginx> newParameters) { var data = MapFile.Get().Data; var shares = MapFile.Get().Share; var oldShare = shares.FirstOrDefault(o => o.Name == queryName); shares.Remove(oldShare); var shareData = newParameters.Select(ConvertData).ToList(); var newShare = new ShareModel { FilePath = fileName, Name = name, Data = shareData }; shares.Add(newShare); var nginx = new NginxModel { _Id = ServiceGuid, Guid = ServiceGuid, Timestamp = Timestamp.Now, Share = shares, Data = data }; DeNSo.Session.New.Set(nginx); }
public static void Render() { var shares = new List <ShareModel>(); var data = new List <LineModel>(); foreach (var file in SimpleStructure) { if (file.Contains("/share/")) { shares.Add(ReadFileShare(file)); } else { var lines = ReadFile(file); foreach (var line in lines) { data.Add(line); } } } var nginx = new NginxModel { _Id = ServiceGuid, Guid = ServiceGuid, Timestamp = Timestamp.Now, Share = shares, Data = data }; DeNSo.Session.New.Set(nginx); }
public static NginxModel ParseOptions(NginxModel nginxConfigurationModel, string text) { nginxConfigurationModel.User = CaptureGroup(text, "user[\\s]+([\\d\\w]+)"); nginxConfigurationModel.Group = CaptureGroup(text, "user[\\s]+[\\d\\w]+[\\s]+([\\d\\w]+);"); nginxConfigurationModel.Processes = CaptureGroup(text, "worker_processes[\\s]+[\\d]+;"); nginxConfigurationModel.FileLimit = CaptureGroup(text, "worker_rlimit_nofile[\\s]+[\\d]+;"); nginxConfigurationModel.ErrorLog = CaptureGroup(text, "error_log[\\s]+[\\w\\/.\\s\\d]+;"); return(nginxConfigurationModel); }
//(events[\s]+{[\s]+[\w\s_;]+[\s]+}) public static NginxModel ParseEventsOptions(NginxModel nginxConfigurationModel, string text) { var regex = new Regex("(events[\\s]+{[\\s]+[\\w\\s_;]+[\\s]+})"); var matchedGroups = regex.Match(text).Groups; var capturedText = matchedGroups[1].Value; nginxConfigurationModel.EventsWorkerConnections = CaptureGroup(capturedText, "worker_connections[\\s]+[\\d]+;"); nginxConfigurationModel.EventsMultiAccept = CaptureGroup(capturedText, "multi_accept[\\s]+[\\w]+;"); nginxConfigurationModel.EventsUse = CaptureGroup(capturedText, "use[\\s]+[\\w]+;"); nginxConfigurationModel.EventsAcceptMutex = CaptureGroup(capturedText, "accept_mutex[\\s]+[\\w]+;"); return(nginxConfigurationModel); }
public static void SaveGlobalConfig(List <ServiceNginx> newParameters) { var shares = MapFile.Get().Share; var data = new List <LineModel>(); foreach (var parameter in newParameters) { data.Add(ConvertData(parameter)); } var nginx = new NginxModel { _Id = ServiceGuid, Guid = ServiceGuid, Timestamp = Timestamp.Now, Share = shares, Data = data }; DeNSo.Session.New.Set(nginx); }
public static void AddShare(string name, string directory) { SetShareFile(name); var shareData = new List <LineModel>(); var defaultParameter00 = new LineModel { FilePath = $"{MntDir}/share/{name.Replace("", "_")}.conf", Key = "path", Value = directory, Type = ServiceDataType.String, BooleanVerbs = new KeyValuePair <string, string>("", "") }; shareData.Add(defaultParameter00); var defaultParameter01 = new LineModel { FilePath = $"{MntDir}/share/{name.Replace("", "_")}.conf", Key = "browseable", Value = "yes", Type = ServiceDataType.Boolean, BooleanVerbs = new KeyValuePair <string, string>("yes", "no") }; shareData.Add(defaultParameter01); var sh = new ShareModel { FilePath = $"{MntDir}/share/{name.Replace("", "_")}.conf", Name = name, Data = shareData }; var shares = MapFile.Get().Share; var data = MapFile.Get().Data; shares.Add(sh); var nginx = new NginxModel { _Id = ServiceGuid, Guid = ServiceGuid, Timestamp = Timestamp.Now, Share = shares, Data = data }; DeNSo.Session.New.Set(nginx); }
public static void Parse() { if (!File.Exists(MainFilePath)) { return; } var content = File.ReadAllText(MainFilePath); var model = new NginxModel { Active = false }; model = NginxParser.ParseOptions(model, content); model = NginxParser.ParseEventsOptions(model, content); var upstreams = NginxParser.ParseUpstream(content); model.Upstreams = upstreams; var http = NginxParser.ParseHttpProtocol(content); model.Http = http; var servers = NginxParser.ParseServer(content); model.Servers = servers; ConsoleLogger.Log("[dhcpd] import existing configuration"); }