public override void handleGETRequest(HttpProcessor processor) { Console.WriteLine("--GET REQUEST BEGIN--"); Console.WriteLine("Request:\n\t" + processor.http_url); Console.WriteLine("Parameter:"); Console.WriteLine("\nSearching Handler.."); foreach (ITaskReciverPlugin cmd in pluginLoader.LoadedPlugins) { if (processor.http_url.StartsWith(cmd.CommandTrigger)) { Console.Write(" Found!"); List<Tuple<string, string>> param = new List<Tuple<string,string>>(); param = GetParams(processor.http_url, cmd.CommandTrigger); param.ForEach(x => Console.WriteLine("\t" + x.Item1 + " = " + ((x.Item2 == "") ? "no value" : x.Item2))); Console.WriteLine("Executing!"); Console.WriteLine("--GET REQUEST END--\n"); cmd.Execute(param); processor.writeSuccess(); return; } } processor.writeFailure(); Console.Write(" Non Found :("); Console.WriteLine("--GET REQUEST END--\n"); }
private void Deal(HttpProcessor p,string url, string data,bool isGet){ if(url==null){ return; } if(url=="/"||url.StartsWith("/room.php")||url.StartsWith("/room.json")){ //房间列表 p.writeSuccess(); p.outputStream.Write(GetContent(url, data)); }else if(url.StartsWith("/deck.php")){ //卡片列表 if(data.IndexOf("pwd=caicai")<0){ p.writeFailure(); return; } p.writeSuccess(); string[] args = data.Split('&'); foreach(string a in args){ if(a != null && a.StartsWith("name=")){ int i = a.IndexOf("="); if(i>=0 && i< a.Length-1){ string name = a.Substring(i+1); List<int> cards = GameManager.GameCards(name); foreach(int id in cards){ p.outputStream.WriteLine(""+id); } } } } } else{ p.writeFailure(); } }
public override void handleGETRequest(HttpProcessor p) { Console.WriteLine ("request: {0}", p.http_url); if (p.http_url.Equals ("/")) { // return form WriteForm (p); } else { //return static file try { FileInfo f = new FileInfo(p.http_url.TrimStart('/')); if (f.Exists) { StreamReader s = new StreamReader(f.FullName); p.writeSuccess(); p.outputStream.Write(s.ReadToEnd()); } else { p.writeFailure(); } } catch(Exception e) { p.writeFailure(); } } }
public override void handleGETRequest(HttpProcessor p) { //Console.WriteLine("request: {0}", p.http_url); if(p.http_url==null){ p.writeFailure(); return; } int index=p.http_url.IndexOf("?"); string url=p.http_url; string arg=""; if(index>0){ url=p.http_url.Substring(0, index); if(index+1<p.http_url.Length){ arg=p.http_url.Substring(index+1); } } Deal(p, url, arg, true); }
public override void handlePOSTRequest(HttpProcessor p, StreamReader inputData) { Console.WriteLine("POST request: {0}", p.http_url); string data = inputData.ReadToEnd(); XmlDocument Doc = new XmlDocument(); Doc.LoadXml(data); XmlNodeList elemList = Doc.GetElementsByTagName("title"); string titleData = elemList[0].InnerXml; elemList = Doc.GetElementsByTagName("subtitle"); string subtitleData = elemList[0].InnerXml; elemList = Doc.GetElementsByTagName("owner"); string ownerData = elemList[0].InnerXml; elemList = Doc.GetElementsByTagName("Location"); string location = elemList[0].InnerXml; elemList = Doc.GetElementsByTagName("manufacturer"); string manufacturerData = elemList[0].InnerXml; elemList = Doc.GetElementsByTagName("description"); string descriptionData = elemList[0].InnerXml; elemList = Doc.GetElementsByTagName("ageID"); int ageID = Convert.ToInt32(elemList[0].InnerXml); elemList = Doc.GetElementsByTagName("uploaderID"); int uploaderID = Convert.ToInt32(elemList[0].InnerXml); elemList = Doc.GetElementsByTagName("categoryID"); int categoryID = Convert.ToInt32(elemList[0].InnerXml); string activeDir; string type = "threedobject"; string connetionString = null; SqlConnection cnn; connetionString = "Data Source=192.168.35.244;Initial Catalog=ddwdb;Integrated Security=False;User ID=HttpServer;Password=Welkom01"; cnn = new SqlConnection(connetionString); try { cnn.Open(); Console.WriteLine("Connection Open ! "); if (type == "threedobject") { elemList = Doc.GetElementsByTagName("dimensions"); string dimensionsData = elemList[0].InnerXml; elemList = Doc.GetElementsByTagName("material"); string materialData = elemList[0].InnerXml; elemList = Doc.GetElementsByTagName("textureID"); int textureID = Convert.ToInt32(elemList[0].InnerXml); elemList = Doc.GetElementsByTagName("weightID"); int weightID = Convert.ToInt32(elemList[0].InnerXml); elemList = Doc.GetElementsByTagName("shapeID"); int shapeID = Convert.ToInt32(elemList[0].InnerXml); elemList = Doc.GetElementsByTagName("color"); string colorData = elemList[0].InnerXml; using (SqlCommand cmd = new SqlCommand("dbo.3Dobject_Add", cnn)) { cmd.CommandType = CommandType.StoredProcedure; // set up the parameters cmd.Parameters.Add("@ModelID", SqlDbType.Int).Direction = ParameterDirection.Output; cmd.Parameters.Add("@Title", SqlDbType.VarChar, -1); cmd.Parameters.Add("@SubTitle", SqlDbType.VarChar, -1); cmd.Parameters.Add("@DateTimeO", SqlDbType.DateTime); cmd.Parameters.Add("@Location", SqlDbType.VarChar, -1); cmd.Parameters.Add("@Owner", SqlDbType.VarChar, -1); cmd.Parameters.Add("@Manufacturer", SqlDbType.VarChar, -1); cmd.Parameters.Add("@Description", SqlDbType.VarChar, -1); cmd.Parameters.Add("@Quantity", SqlDbType.Int); cmd.Parameters.Add("@Dimensions", SqlDbType.VarChar, -1); cmd.Parameters.Add("@Material", SqlDbType.VarChar, -1); cmd.Parameters.Add("@Color", SqlDbType.VarChar, -1); cmd.Parameters.Add("@Category_ID", SqlDbType.Int); cmd.Parameters.Add("@Uploader_ID", SqlDbType.Int); cmd.Parameters.Add("@Texture_ID", SqlDbType.Int); cmd.Parameters.Add("@Age_ID", SqlDbType.Int); cmd.Parameters.Add("@Weight_ID", SqlDbType.Int); cmd.Parameters.Add("@ShapeID", SqlDbType.Int); cmd.Parameters["@Title"].Value = titleData; cmd.Parameters["@SubTitle"].Value = subtitleData; cmd.Parameters["@DateTimeO"].Value = DateTime.Now; cmd.Parameters["@Location"].Value = location; cmd.Parameters["@Owner"].Value = ownerData; cmd.Parameters["@Manufacturer"].Value = manufacturerData; cmd.Parameters["@Description"].Value = descriptionData; cmd.Parameters["@Quantity"].Value = 5; cmd.Parameters["@Dimensions"].Value = dimensionsData; cmd.Parameters["@Material"].Value = materialData; cmd.Parameters["@Color"].Value = colorData; cmd.Parameters["@Category_ID"].Value = categoryID; cmd.Parameters["@Uploader_ID"].Value = uploaderID; cmd.Parameters["@Texture_ID"].Value = textureID; cmd.Parameters["@Age_ID"].Value = ageID; cmd.Parameters["@Weight_ID"].Value = weightID; cmd.Parameters["@ShapeID"].Value = shapeID; cmd.ExecuteNonQuery(); int idFromServer = Convert.ToInt32(cmd.Parameters["@ModelID"].Value); Console.WriteLine("Insert executed successfully " + idFromServer.ToString()); // open connection and execute stored procedure cnn.Close(); activeDir = @"D:\FontysFactory\3DObjects"; string newPath = System.IO.Path.Combine(activeDir, Convert.ToString(idFromServer)); System.IO.Directory.CreateDirectory(newPath); string path = activeDir; string folder1 = path.Substring(path.LastIndexOf("\\") + 1); path = path.Remove(path.LastIndexOf("\\")); string folder2 = path.Substring(path.LastIndexOf("\\") + 1); string result = System.IO.Path.Combine(folder2, idFromServer.ToString()); Console.WriteLine(result); p.writeSuccess(); p.outputStream.WriteLine(result); } } else { elemList = Doc.GetElementsByTagName("extension"); string extension = elemList[0].InnerXml; using (SqlCommand cmd = new SqlCommand("dbo.OtherObject_Add", cnn)) { cmd.CommandType = CommandType.StoredProcedure; // set up the parameters cmd.Parameters.Add("@ObjectID", SqlDbType.Int).Direction = ParameterDirection.Output; cmd.Parameters.Add("@Title", SqlDbType.VarChar, -1); cmd.Parameters.Add("@SubTitle", SqlDbType.VarChar, -1); cmd.Parameters.Add("@DateTimeO", SqlDbType.DateTime); cmd.Parameters.Add("@Location", SqlDbType.VarChar, -1); cmd.Parameters.Add("@Owner", SqlDbType.VarChar, -1); cmd.Parameters.Add("@Manufacturer", SqlDbType.VarChar, -1); cmd.Parameters.Add("@Description", SqlDbType.VarChar, -1); cmd.Parameters.Add("@Quantity", SqlDbType.Int); cmd.Parameters.Add("@Extension", SqlDbType.VarChar, -1); cmd.Parameters.Add("@Age_ID", SqlDbType.Int); cmd.Parameters.Add("@Category_ID", SqlDbType.Int); cmd.Parameters.Add("@Uploader_ID", SqlDbType.Int); cmd.Parameters["@Title"].Value = titleData; cmd.Parameters["@SubTitle"].Value = subtitleData; cmd.Parameters["@DateTimeO"].Value = DateTime.Now; cmd.Parameters["@Location"].Value = location; cmd.Parameters["@Owner"].Value = ownerData; cmd.Parameters["@Manufacturer"].Value = manufacturerData; cmd.Parameters["@Description"].Value = descriptionData; cmd.Parameters["@Quantity"].Value = 5; cmd.Parameters["@Extension"].Value = extension; cmd.Parameters["@Age_ID"].Value = ageID; cmd.Parameters["@Category_ID"].Value = categoryID; cmd.Parameters["@Uploader_ID"].Value = uploaderID; cmd.ExecuteNonQuery(); int idFromServer = Convert.ToInt32(cmd.Parameters["@ObjectID"].Value); Console.WriteLine("Insert executed successfully " + idFromServer.ToString()); // open connection and execute stored procedure cnn.Close(); activeDir = @"D:\FontysFactory\OtherObjects"; string newPath = System.IO.Path.Combine(activeDir, Convert.ToString(idFromServer)); System.IO.Directory.CreateDirectory(newPath); string path = activeDir; string folder1 = path.Substring(path.LastIndexOf("\\") + 1); path = path.Remove(path.LastIndexOf("\\")); string folder2 = path.Substring(path.LastIndexOf("\\") + 1); string result = System.IO.Path.Combine(folder1, idFromServer.ToString()); Console.WriteLine(result); p.writeSuccess(); p.outputStream.WriteLine(result); } } cnn.Close(); } catch (Exception ex) { Console.WriteLine(ex.Message); p.writeFailure(); } }