예제 #1
0
파일: WebUI.cs 프로젝트: djlw78/NINSS
 public WebUI()
 {
     NINSS.MinecraftConnector.ServerStop         += OnStop;
     NINSS.MinecraftConnector.PlayerChatReceived += ChatReceived;
     OnRequest += LogAction;
     OnRequest += PluginsAction;
     OnRequest += CommandAction;
     OnRequest += ConfigAction;
     OnRequest += ConfigsAction;
     OnRequest += ConfigListAction;
     try
     {
         NINSS.API.Config config = new NINSS.API.Config("WebUI");
         string           _ip    = config.GetValue("IP_Adress");
         this.ip      = System.Net.IPAddress.Parse(_ip);
         port         = Convert.ToInt32(config.GetValue("Port"));
         serverThread = new Thread(new ThreadStart(listen));
         serverThread.Start();
     }
     catch (Exception e)
     {
         Console.WriteLine("\nError loading WebUI: " + e.GetType().ToString() + ": " + e.Message + "\nStacktrace:\n" + e.StackTrace + "\n");
         if (e.InnerException != null)
         {
             Console.WriteLine("InnerException: " + e.InnerException.Message + "\nInner Stacktrace:\n" + e.InnerException.StackTrace);
         }
     }
 }
예제 #2
0
파일: WebUI.cs 프로젝트: crayse1/NINSS
 public WebUI()
 {
     NINSS.MinecraftConnector.ServerStop += OnStop;
     NINSS.MinecraftConnector.PlayerChatReceived += ChatReceived;
     OnRequest += LogAction;
     OnRequest += PluginsAction;
     OnRequest += CommandAction;
     OnRequest += ConfigAction;
     OnRequest += ConfigsAction;
     OnRequest += ConfigListAction;
     try
     {
         NINSS.API.Config config = new NINSS.API.Config("WebUI");
         string _ip = config.GetValue("IP_Adress");
         this.ip = System.Net.IPAddress.Parse(_ip);
         port = Convert.ToInt32(config.GetValue("Port"));
         serverThread = new Thread(new ThreadStart(listen));
         serverThread.Start();
     }
     catch (Exception e)
     {
         Console.WriteLine("\nError loading WebUI: "+e.GetType().ToString()+": "+e.Message+"\nStacktrace:\n"+e.StackTrace+"\n");
         if(e.InnerException != null)
             Console.WriteLine("InnerException: "+e.InnerException.Message+"\nInner Stacktrace:\n"+e.InnerException.StackTrace);
     }
 }
예제 #3
0
파일: WebUI.cs 프로젝트: djlw78/NINSS
        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);
        }
예제 #4
0
파일: WebUI.cs 프로젝트: crayse1/NINSS
        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;
        }