コード例 #1
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);
                }
            }

            using (var db = new Database(Program.Settings.GetValue("conn")))
            {
                Account acc = db.Verify(query["guid"], query["password"]);
                int num = Convert.ToInt32(query["num"]);
                int offset = Convert.ToInt32(query["offset"]);
                if (num == 0)
                {
                    num = 50;
                }
                byte[] status;
                if (acc == null)
                    status = Encoding.UTF8.GetBytes("<Error>Account credentials not valid</Error>");
                else
                {
                    try
                    {
                        status = Encoding.UTF8.GetBytes(db.HttpGetGuildMembers(num, offset, acc));
                    }
                    catch
                    {
                        status = Encoding.UTF8.GetBytes("<Error>Guild member error</Error>");
                    }
                }
                context.Response.OutputStream.Write(status, 0, status.Length);
            }
        }
コード例 #2
0
 protected override void HandleRequest()
 {
     using (var db = new Database())
     {
         if (Account == null) BadLogin();
         else
         {
             try
             {
                 WriteLine(db.HttpGetGuildMembers(int.Parse(Query["num"]), int.Parse(Query["offset"]), Account));
             }
             catch (Exception ex)
             {
                 Program.Logger.Error(ex);
             }
         }
     }
 }
コード例 #3
0
 protected override void HandleRequest()
 {
     using (Database db = new Database())
     {
         Account acc = db.Verify(Query["guid"], Query["password"], Program.GameData);
         byte[] status = new byte[0];
         if (CheckAccount(acc, db, false))
         {
             try
             {
                 status =
                     Encoding.UTF8.GetBytes(db.HttpGetGuildMembers(Convert.ToInt32(Query["num"]),
                         Convert.ToInt32(Query["offset"]), acc));
             }
             catch
             {
                 status = Encoding.UTF8.GetBytes("<Error>Guild member error</Error>");
             }
         }
         Context.Response.OutputStream.Write(status, 0, status.Length);
         Context.Response.Close();
     }
 }
コード例 #4
-1
        public void HandleRequest(HttpListenerContext context)
        {
            NameValueCollection query;
            using (var rdr = new StreamReader(context.Request.InputStream))
                query = HttpUtility.ParseQueryString(rdr.ReadToEnd());

            using (var db = new Database())
            {
                Account acc = db.Verify(query["guid"], query["password"]);
                byte[] status;
                if (acc == null)
                    status = Encoding.UTF8.GetBytes("<Error>Bad login</Error>");
                else
                {
                    try
                    {
                        status =
                            Encoding.UTF8.GetBytes(db.HttpGetGuildMembers(Convert.ToInt32(query["num"]),
                                Convert.ToInt32(query["offset"]), acc));
                    }
                    catch
                    {
                        status = Encoding.UTF8.GetBytes("<Error>Guild member error</Error>");
                    }
                }
                context.Response.OutputStream.Write(status, 0, status.Length);
                context.Response.Close();
            }
        }