Beispiel #1
0
        public static bool ConfigAction(string url, HttpProcessor p)
        {
            if (url.Split('?').Length != 5 || url.Split('?')[1] != "config")
            {
                return(false);
            }

            p.writeSuccess("text/html");
            NINSS.API.Config config = new NINSS.API.Config(url.Split('?')[2]);
            string           name   = url.Split('?')[3];
            string           value  = url.Split('?')[4].Replace("%20", " ");

            if (value == "get")
            {
                value = config.GetValue(name);
                if (value == null)
                {
                    value = "null";
                }
                p.outputStream.WriteLine(value);
            }
            else
            {
                config.SetValue(name, value);
                config.SaveConfig(url.Split('?')[2]);
                p.outputStream.WriteLine("true");
            }
            return(true);
        }
Beispiel #2
0
        public static bool CommandAction(string url, HttpProcessor p)
        {
            if(url.Split('?').Length != 3 || url.Split('?')[1] != "command")
                return false;

            p.writeSuccess("text/html");
            string command = url.Split('?') [2].Replace("%20", " ");
            NINSS.API.Server.Instance.RunCommand(command);
            p.outputStream.WriteLine("true");
            return true;
        }
Beispiel #3
0
        public override void HandleGETRequest(HttpProcessor p)
        {
            string file = p.http_url.Trim(' ', '/');

            if (OnRequest != null)
            {
                foreach (RequestAction _action in OnRequest.GetInvocationList())
                {
                    if (_action(file, p))
                    {
                        return;
                    }
                }
            }
            if (file == "")
            {
                file = "index.html";
            }
            file = AppDomain.CurrentDomain.BaseDirectory + "plugins\\WebUI\\" + file.Split('?')[0];
            if (!System.IO.File.Exists(file))
            {
                p.writeSuccess("text/html");
                p.outputStream.WriteLine("<html><body><h1>404 Not found!</h1></body></html>");
            }
            else
            {
                if (mineTypes.ContainsKey(file.Split('.') [file.Split('.').Length - 1]))
                {
                    p.writeSuccess(mineTypes [file.Split('.') [file.Split('.').Length - 1]]);
                }
                else
                {
                    p.writeSuccess("text/" + file.Split('.') [file.Split('.').Length - 1]);
                }
                foreach (string line in System.IO.File.ReadAllLines(file))
                {
                    p.outputStream.WriteLine(line);
                }
            }
        }
Beispiel #4
0
        public static bool CommandAction(string url, HttpProcessor p)
        {
            if (url.Split('?').Length != 3 || url.Split('?')[1] != "command")
            {
                return(false);
            }

            p.writeSuccess("text/html");
            string command = url.Split('?') [2].Replace("%20", " ");

            NINSS.API.Server.Instance.RunCommand(command);
            p.outputStream.WriteLine("true");
            return(true);
        }
Beispiel #5
0
        public static bool ConfigListAction(string url, HttpProcessor p)
        {
            if (url.Split('?').Length != 3 || url.Split('?')[1] != "configvalues")
            {
                return(false);
            }

            p.writeSuccess("text/html");
            string values = "";

            foreach (string val in new NINSS.API.Config(url.Split('?')[2]).GetValues())
            {
                values += val + ",";
            }
            p.outputStream.WriteLine(values.Trim(','));
            return(true);
        }
Beispiel #6
0
        public static bool ConfigAction(string url, HttpProcessor p)
        {
            if(url.Split('?').Length != 5 || url.Split('?')[1] != "config")
                return false;

            p.writeSuccess("text/html");
            NINSS.API.Config config = new NINSS.API.Config(url.Split('?')[2]);
            string name = url.Split('?')[3];
            string value = url.Split('?')[4].Replace("%20", " ");
            if(value == "get")
            {
                value = config.GetValue(name);
                if(value == null)
                    value = "null";
                p.outputStream.WriteLine(value);
            }
            else
            {
                config.SetValue(name, value);
                config.SaveConfig(url.Split('?')[2]);
                p.outputStream.WriteLine("true");
            }
            return true;
        }
Beispiel #7
0
 public override void HandleGETRequest(HttpProcessor p)
 {
     string file = p.http_url.Trim(' ', '/');
     if (OnRequest != null)
     {
         foreach (RequestAction _action in OnRequest.GetInvocationList())
         {
             if (_action(file, p))
                 return;
         }
     }
     if (file == "")
     {
         file = "index.html";
     }
     file = AppDomain.CurrentDomain.BaseDirectory+"plugins\\WebUI\\"+file.Split('?')[0];
     if(!System.IO.File.Exists(file))
     {
         p.writeSuccess("text/html");
         p.outputStream.WriteLine("<html><body><h1>404 Not found!</h1></body></html>");
     }
     else
     {
         if (mineTypes.ContainsKey(file.Split('.') [file.Split('.').Length - 1]))
         {
             p.writeSuccess(mineTypes [file.Split('.') [file.Split('.').Length - 1]]);
         }
         else
         {
             p.writeSuccess("text/" + file.Split('.') [file.Split('.').Length - 1]);
         }
         foreach (string line in System.IO.File.ReadAllLines(file))
         {
             p.outputStream.WriteLine(line);
         }
     }
 }
Beispiel #8
0
        public static bool ConfigListAction(string url, HttpProcessor p)
        {
            if(url.Split('?').Length != 3 || url.Split('?')[1] != "configvalues")
                return false;

            p.writeSuccess("text/html");
            string values = "";
            foreach (string val in new NINSS.API.Config(url.Split('?')[2]).GetValues())
            {
                values += val + ",";
            }
            p.outputStream.WriteLine(values.Trim(','));
            return true;
        }