public void Setup() { output = new StringBuilder(); testServers = new NginxServerList(); var testServer = new NginxServer(); testServer.Properties.Add(new PropertyEntry { Key = "server_name", Value = "localhost" }); testServer.Properties.Add(new PropertyEntry { Key = "listen", Value = "443 ssl http2" }); testServer.Locations.Add(new NginxLocation { Name = "location /", Properties = new List <PropertyEntry> { new PropertyEntry { Key = "root", Value = "/var/www/html" } } }); testServers.Add(testServer); }
public NginxResult CreateNginxServerList(string name) { try { var content = new StringBuilder(); NginxServerList serverList = new NginxServerList(); serverList.Add(new NginxServer()); serverList.Build(content); if (!File.Exists($"{_nginxConfigDirectory}{name}.conf")) { File.WriteAllText($"{_nginxConfigDirectory}{name}.conf", content.ToString()); return(new NginxResult { Succeeded = true }); } return(new NginxResult { Succeeded = false, Errors = new List <NginxError>() { new () { Code = "001", Description = "File exists" } } }); }
public static NginxServerList Parse(string config) { var serverEntries = new NginxServerList(); var tokens = NginxTokenizer.Tokenize(config); foreach (var entry in tokens) { if (!entry.Name.Contains("server")) { continue; } var newServer = new NginxServer(); newServer.ParseProperties(entry.Content); newServer.Locations = new List <NginxLocation>(); foreach (var childToken in entry.Tokens) { if (childToken.Name.Contains("location")) { newServer.Locations.Add(ParseLocationToken(childToken)); } else if (childToken.Name.Contains("limit_except")) { newServer.LimitExcept = ParseLimitExceptToken(childToken); } else { newServer.UnsupportedTokens.Add(childToken); } } serverEntries.Add(newServer); } return(serverEntries); }
public void Setup() { nginxConfig = NginxParser.NginxParser.Parse(TestConfig); }