Example #1
0
        public void HandleRequest(HttpListenerContext context)
        {
            NameValueCollection query;
            using (StreamReader rdr = new StreamReader(context.Request.InputStream))
                query = HttpUtility.ParseQueryString(rdr.ReadToEnd());

            Pics pics = new Pics()
            {
                SearchOffset = Convert.ToInt32(query["offset"]),
                Pictures = new List<Pic>() {
                    new Pic() {
                        PicName = "Dark Fire",
                        PictureId = "dark_fire",
                        DataType = 2,
                        Tags = new List<string>() {
                            "test",
                            "test2",
                            "dark",
                            "fire"
                        }
                    }
                }
            };

            XmlSerializer serializer = new XmlSerializer(pics.GetType(), new XmlRootAttribute(pics.GetType().Name) { Namespace = "" });

            XmlWriterSettings xws = new XmlWriterSettings();
            xws.OmitXmlDeclaration = true;
            xws.Encoding = Encoding.UTF8;
            XmlWriter xtw = XmlWriter.Create(context.Response.OutputStream, xws);
            serializer.Serialize(xtw, pics, pics.Namespaces);
        }
Example #2
0
        protected override void HandleRequest()
        {
            Pics pics = new Pics()
            {
                SearchOffset = Convert.ToInt32(Query["offset"]),
                Pictures = new List<Pic>() {
                    new Pic() {
                        PicName = "Dark Fire",
                        PictureId = "dark_fire",
                        DataType = 2,
                        Tags = new List<string>() {
                            "test",
                            "test2",
                            "dark",
                            "fire"
                        }
                    }
                }
            };

            XmlSerializer serializer = new XmlSerializer(pics.GetType(), new XmlRootAttribute(pics.GetType().Name) { Namespace = "" });

            XmlWriterSettings xws = new XmlWriterSettings();
            xws.OmitXmlDeclaration = true;
            xws.Encoding = Encoding.UTF8;
            XmlWriter xtw = XmlWriter.Create(Context.Response.OutputStream, xws);
            serializer.Serialize(xtw, pics, pics.Namespaces);
        }
Example #3
0
        public void HandleRequest(HttpListenerContext context)
        {
            NameValueCollection query;

            using (StreamReader rdr = new StreamReader(context.Request.InputStream))
                query = HttpUtility.ParseQueryString(rdr.ReadToEnd());

            Pics pics = new Pics()
            {
                SearchOffset = Convert.ToInt32(query["offset"]),
                Pictures     = new List <Pic>()
                {
                    new Pic()
                    {
                        PicName   = "Dark Fire",
                        PictureId = "dark_fire",
                        DataType  = 2,
                        Tags      = new List <string>()
                        {
                            "test",
                            "test2",
                            "dark",
                            "fire"
                        }
                    }
                }
            };

            XmlSerializer serializer = new XmlSerializer(pics.GetType(), new XmlRootAttribute(pics.GetType().Name)
            {
                Namespace = ""
            });

            XmlWriterSettings xws = new XmlWriterSettings();

            xws.OmitXmlDeclaration = true;
            xws.Encoding           = Encoding.UTF8;
            XmlWriter xtw = XmlWriter.Create(context.Response.OutputStream, xws);

            serializer.Serialize(xtw, pics, pics.Namespaces);
        }
Example #4
0
        protected override void HandleRequest()
        {
            Pics pics = new Pics()
            {
                SearchOffset = Convert.ToInt32(Query["offset"]),
                Pictures     = new List <Pic>()
                {
                    new Pic()
                    {
                        PicName   = "Dark Fire",
                        PictureId = "dark_fire",
                        DataType  = 2,
                        Tags      = new List <string>()
                        {
                            "test",
                            "test2",
                            "dark",
                            "fire"
                        }
                    }
                }
            };

            XmlSerializer serializer = new XmlSerializer(pics.GetType(), new XmlRootAttribute(pics.GetType().Name)
            {
                Namespace = ""
            });

            XmlWriterSettings xws = new XmlWriterSettings();

            xws.OmitXmlDeclaration = true;
            xws.Encoding           = Encoding.UTF8;
            XmlWriter xtw = XmlWriter.Create(Context.Response.OutputStream, xws);

            serializer.Serialize(xtw, pics, pics.Namespaces);
        }
Example #5
0
        public override void HandleRequest(HttpListenerContext context)
        {
            NameValueCollection query;
            using (var rdr = new StreamReader(context.Request.InputStream))
                query = HttpUtility.ParseQueryString(rdr.ReadToEnd());

            if (query.AllKeys.Length == 0)
            {
                string queryString = string.Empty;
                string currUrl = context.Request.RawUrl;
                int iqs = currUrl.IndexOf('?');
                if (iqs >= 0)
                {
                    query =
                        HttpUtility.ParseQueryString((iqs < currUrl.Length - 1)
                            ? currUrl.Substring(iqs + 1)
                            : String.Empty);
                }
            }

            Pics pics = new Pics();
            pics.Offset = query["offset"] != null ? Convert.ToInt32(query["offset"]) : 0;
            pics.Pictures = new List<Pic>();
            int count = 0;
            using(var db = new Database(Program.Settings.GetValue("conn")))
            {
                var cmd = db.CreateQuery();

                cmd.CommandText = "SELECT COUNT(id) FROM sprites";
                count = ((int) (long) cmd.ExecuteScalar());

                cmd = db.CreateQuery();
                cmd.CommandText = "SELECT * FROM sprites";

                using (MySqlDataReader rdr = cmd.ExecuteReader())
                {
                    while (rdr.Read())
                    {
                        int id = rdr.GetInt32("id");
                        string guid = rdr.GetString("guid");
                        string name = rdr.GetString("name");
                        int dataType = rdr.GetInt32("dataType");
                        string[] tags = rdr.GetString("tags").Split(',');

                        if (query["tags"] != null)
                        {
                            List<string> tagList = new List<string>(tags);
                            bool succeded = true;
                            foreach (var i in query["tags"].Trim().Split(','))
                            {
                                if (!tagList.Contains(i.Trim()))
                                    succeded = false;
                            }
                            if (!succeded)
                                continue;
                        }
                        if (query["dataType"] != null && Convert.ToInt32(query["dataType"]) != dataType)
                            continue;
                        if (query["guid"] != null)
                        {
                            //if (query["guid"] == "Admin")
                            //    continue;

                            if (query["guid"] != guid)
                                continue;
                        }

                        var pic = new Pic
                        {
                            Id = id,
                            DataType = dataType,
                            PicName = name,
                            Tags = string.Join(",", tags)
                        };
                        if (query["myGUID"] == guid)
                        {
                            pic.Mine = "";
                        }
                        pics.Pictures.Add(pic);
                    }
                }
            }

            int num = 0;
            if (query["offset"] != null)
                pics.Pictures.RemoveRange(0, (Convert.ToInt32(query["offset"]) > count) ? count : Convert.ToInt32(query["offset"]));
            if (query["num"] != null)
                if ((num = Convert.ToInt32(query["num"])) < count)
                    pics.Pictures.RemoveRange(num, count - num);
            var ms = new MemoryStream();
            var serializer = new XmlSerializer(pics.GetType(),
                new XmlRootAttribute(pics.GetType().Name) { Namespace = "" });

            var xws = new XmlWriterSettings();
            xws.OmitXmlDeclaration = true;
            xws.Encoding = Encoding.UTF8;
            xws.Indent = true;
            XmlWriter xtw = XmlWriter.Create(context.Response.OutputStream, xws);
            serializer.Serialize(xtw, pics, pics.Namespaces);
        }
Example #6
0
        public override void HandleRequest(HttpListenerContext context)
        {
            NameValueCollection query;

            using (var rdr = new StreamReader(context.Request.InputStream))
                query = HttpUtility.ParseQueryString(rdr.ReadToEnd());

            if (query.AllKeys.Length == 0)
            {
                string queryString = string.Empty;
                string currUrl     = context.Request.RawUrl;
                int    iqs         = currUrl.IndexOf('?');
                if (iqs >= 0)
                {
                    query =
                        HttpUtility.ParseQueryString((iqs < currUrl.Length - 1)
                            ? currUrl.Substring(iqs + 1)
                            : String.Empty);
                }
            }

            Pics pics = new Pics();

            pics.Offset = query["offset"] != null?Convert.ToInt32(query["offset"]) : 0;

            pics.Pictures = new List <Pic>();
            int count = 0;

            using (var db = new Database(Program.Settings.GetValue("conn")))
            {
                var cmd = db.CreateQuery();

                cmd.CommandText = "SELECT COUNT(id) FROM sprites";
                count           = ((int)(long)cmd.ExecuteScalar());

                cmd             = db.CreateQuery();
                cmd.CommandText = "SELECT * FROM sprites";

                using (MySqlDataReader rdr = cmd.ExecuteReader())
                {
                    while (rdr.Read())
                    {
                        int      id       = rdr.GetInt32("id");
                        string   guid     = rdr.GetString("guid");
                        string   name     = rdr.GetString("name");
                        int      dataType = rdr.GetInt32("dataType");
                        string[] tags     = rdr.GetString("tags").Split(',');

                        if (query["tags"] != null)
                        {
                            List <string> tagList  = new List <string>(tags);
                            bool          succeded = true;
                            foreach (var i in query["tags"].Trim().Split(','))
                            {
                                if (!tagList.Contains(i.Trim()))
                                {
                                    succeded = false;
                                }
                            }
                            if (!succeded)
                            {
                                continue;
                            }
                        }
                        if (query["dataType"] != null && Convert.ToInt32(query["dataType"]) != dataType)
                        {
                            continue;
                        }
                        if (query["guid"] != null)
                        {
                            //if (query["guid"] == "Admin")
                            //    continue;

                            if (query["guid"] != guid)
                            {
                                continue;
                            }
                        }

                        var pic = new Pic
                        {
                            Id       = id,
                            DataType = dataType,
                            PicName  = name,
                            Tags     = string.Join(",", tags)
                        };
                        if (query["myGUID"] == guid)
                        {
                            pic.Mine = "";
                        }
                        pics.Pictures.Add(pic);
                    }
                }
            }

            int num = 0;

            if (query["offset"] != null)
            {
                pics.Pictures.RemoveRange(0, (Convert.ToInt32(query["offset"]) > count) ? count : Convert.ToInt32(query["offset"]));
            }
            if (query["num"] != null)
            {
                if ((num = Convert.ToInt32(query["num"])) < count)
                {
                    pics.Pictures.RemoveRange(num, count - num);
                }
            }
            var ms         = new MemoryStream();
            var serializer = new XmlSerializer(pics.GetType(),
                                               new XmlRootAttribute(pics.GetType().Name)
            {
                Namespace = ""
            });

            var xws = new XmlWriterSettings();

            xws.OmitXmlDeclaration = true;
            xws.Encoding           = Encoding.UTF8;
            xws.Indent             = true;
            XmlWriter xtw = XmlWriter.Create(context.Response.OutputStream, xws);

            serializer.Serialize(xtw, pics, pics.Namespaces);
        }