Ignore:
Timestamp:
Jan 19, 2019, 6:08:32 PM (6 years ago)
Author:
alloc
Message:

Fixed #154

File:
1 edited

Legend:

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

    r325 r350  
    55namespace AllocsFixes.NetConnections.Servers.Web.API {
    66        public class GetLog : WebAPI {
    7                 public override void HandleRequest (HttpListenerRequest req, HttpListenerResponse resp, WebConnection user,
    8                         int permissionLevel) {
    9                         int firstLine, lastLine;
     7                private const int MAX_COUNT = 1000;
     8               
     9                public override void HandleRequest (HttpListenerRequest _req, HttpListenerResponse _resp, WebConnection _user,
     10                        int _permissionLevel) {
     11                        int count, firstLine, lastLine;
    1012
    11                         if (req.QueryString ["firstLine"] == null || !int.TryParse (req.QueryString ["firstLine"], out firstLine)) {
    12                                 firstLine = LogBuffer.Instance.OldestLine;
     13                        if (_req.QueryString ["count"] == null || !int.TryParse (_req.QueryString ["count"], out count)) {
     14                                count = 50;
     15                        }
     16
     17                        if (count == 0) {
     18                                count = 1;
     19                        }
     20
     21                        if (count > MAX_COUNT) {
     22                                count = MAX_COUNT;
     23                        }
     24
     25                        if (count < -MAX_COUNT) {
     26                                count = -MAX_COUNT;
     27                        }
     28
     29                        if (_req.QueryString ["firstLine"] == null || !int.TryParse (_req.QueryString ["firstLine"], out firstLine)) {
     30                                if (count > 0) {
     31                                        firstLine = LogBuffer.Instance.OldestLine;
     32                                } else {
     33                                        firstLine = LogBuffer.Instance.LatestLine;
     34                                }
    1335                        }
    1436
    1537                        JSONObject result = new JSONObject ();
    1638
    17                         List<LogBuffer.LogEntry> logEntries = LogBuffer.Instance.GetRange (ref firstLine, 50, out lastLine);
     39                        List<LogBuffer.LogEntry> logEntries = LogBuffer.Instance.GetRange (ref firstLine, count, out lastLine);
    1840
    1941                        JSONArray entries = new JSONArray ();
     
    2547                                entry.Add ("msg", new JSONString (logEntry.message));
    2648                                entry.Add ("trace", new JSONString (logEntry.trace));
    27                                 entry.Add ("type", new JSONString (logEntry.type.ToString ()));
     49                                entry.Add ("type", new JSONString (logEntry.type.ToStringCached ()));
    2850                                entries.Add (entry);
    2951                        }
     
    3355                        result.Add ("entries", entries);
    3456
    35                         WriteJSON (resp, result);
     57                        WriteJSON (_resp, result);
    3658                }
    3759        }
Note: See TracChangeset for help on using the changeset viewer.