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);
        }
Example #2
0
        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"
                        }
                    }
                });
            }
Example #3
0
        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);
 }