Ignore:
Timestamp:
Jul 28, 2023, 8:42:10 PM (16 months ago)
Author:
alloc
Message:

24_29_43
Switched over to vanilla Web infrastructure

Location:
binary-improvements/MapRendering/API
Files:
1 added
1 moved

Legend:

Unmodified
Added
Removed
  • binary-improvements/MapRendering/API/GetPlayerList.cs

    r453 r454  
    22using System.Collections.Generic;
    33using System.Linq;
    4 using System.Net;
    54using System.Text.RegularExpressions;
    65using AllocsFixes.JSON;
    76using AllocsFixes.PersistentData;
    8 
    9 namespace AllocsFixes.NetConnections.Servers.Web.API {
    10         public class GetPlayerList : WebAPI {
     7using Webserver;
     8using Webserver.Permissions;
     9using Webserver.WebAPI;
     10
     11namespace AllocsFixes.WebAPIs {
     12        public class GetPlayerList : AbsWebAPI {
    1113                private static readonly Regex numberFilterMatcher =
    1214                        new Regex (@"^(>=|=>|>|<=|=<|<|==|=)?\s*([0-9]+(\.[0-9]*)?)$");
     
    1618#endif
    1719
    18                 public override void HandleRequest (HttpListenerRequest _req, HttpListenerResponse _resp, WebConnection _user,
    19                         int _permissionLevel) {
     20                public override void HandleRequest (RequestContext _context) {
    2021                        AdminTools admTools = GameManager.Instance.adminTools;
    21                         PlatformUserIdentifierAbs userId = _user?.UserId;
    22 
    23                         bool bViewAll = WebConnection.CanViewAllPlayers (_permissionLevel);
     22                        PlatformUserIdentifierAbs userId = _context.Connection?.UserId;
     23
     24                        bool bViewAll = PermissionUtils.CanViewAllPlayers (_context.PermissionLevel);
    2425
    2526                        // TODO: Sort (and filter?) prior to converting to JSON ... hard as how to get the correct column's data? (i.e. column name matches JSON object field names, not source data)
    2627
    2728                        int rowsPerPage = 25;
    28                         if (_req.QueryString ["rowsperpage"] != null) {
    29                                 int.TryParse (_req.QueryString ["rowsperpage"], out rowsPerPage);
     29                        if (_context.Request.QueryString ["rowsperpage"] != null) {
     30                                int.TryParse (_context.Request.QueryString ["rowsperpage"], out rowsPerPage);
    3031                        }
    3132
    3233                        int page = 0;
    33                         if (_req.QueryString ["page"] != null) {
    34                                 int.TryParse (_req.QueryString ["page"], out page);
     34                        if (_context.Request.QueryString ["page"] != null) {
     35                                int.TryParse (_context.Request.QueryString ["page"], out page);
    3536                        }
    3637
     
    8384                        IEnumerable<JSONObject> list = playerList;
    8485
    85                         foreach (string key in _req.QueryString.AllKeys) {
     86                        foreach (string key in _context.Request.QueryString.AllKeys) {
    8687                                if (!string.IsNullOrEmpty (key) && key.StartsWith ("filter[")) {
    8788                                        string filterCol = key.Substring (key.IndexOf ('[') + 1);
    8889                                        filterCol = filterCol.Substring (0, filterCol.Length - 1);
    89                                         string filterVal = _req.QueryString.Get (key).Trim ();
     90                                        string filterVal = _context.Request.QueryString.Get (key).Trim ();
    9091
    9192                                        list = ExecuteFilter (list, filterCol, filterVal);
     
    9596                        int totalAfterFilter = list.Count ();
    9697
    97                         foreach (string key in _req.QueryString.AllKeys) {
     98                        foreach (string key in _context.Request.QueryString.AllKeys) {
    9899                                if (!string.IsNullOrEmpty (key) && key.StartsWith ("sort[")) {
    99100                                        string sortCol = key.Substring (key.IndexOf ('[') + 1);
    100101                                        sortCol = sortCol.Substring (0, sortCol.Length - 1);
    101                                         string sortVal = _req.QueryString.Get (key);
     102                                        string sortVal = _context.Request.QueryString.Get (key);
    102103
    103104                                        list = ExecuteSort (list, sortCol, sortVal == "0");
     
    120121                        result.Add ("players", playersJsResult);
    121122
    122                         WriteJSON (_resp, result);
     123                        LegacyApiHelper.WriteJSON (_context.Response, result);
    123124                }
    124125
Note: See TracChangeset for help on using the changeset viewer.