Ignore:
Timestamp:
Aug 7, 2022, 3:02:24 PM (2 years ago)
Author:
alloc
Message:

Major refactoring/cleanup

Location:
binary-improvements2/MarkersMod/src
Files:
1 added
1 moved

Legend:

Unmodified
Added
Removed
  • binary-improvements2/MarkersMod/src/Markers.cs

    r390 r391  
    22using System.Net;
    33using AllocsFixes.JSON;
    4 using AllocsFixes.NetConnections.Servers.Web;
    5 using AllocsFixes.NetConnections.Servers.Web.API;
     4using Webserver;
     5using Webserver.WebAPI;
    66
    77namespace Examples {
    8         class Markers : AbsRestApi {
    9                 private const int NumRandomMarkers = 5;
     8        public class Markers : AbsRestApi {
     9                private const int numRandomMarkers = 5;
    1010
    1111                private readonly Dictionary<string, (int, int)> markers = new Dictionary<string, (int, int)> ();
    1212
    13                 private static readonly JSONArray emptyResult = new JSONArray ();
     13                private static readonly JsonArray emptyResult = new JsonArray ();
    1414               
    1515                public Markers () {
    1616                        GameRandom random = GameRandomManager.Instance.CreateGameRandom ();
    1717                       
    18                         for (int i = 0; i < NumRandomMarkers; i++) {
     18                        for (int i = 0; i < numRandomMarkers; i++) {
    1919                                int lat = random.RandomRange (-1000, 1001);
    2020                                int lng = random.RandomRange (-1000, 1001);
     
    2828                       
    2929                        if (string.IsNullOrEmpty (id)) {
    30                                 JSONArray result = new JSONArray ();
     30                                JsonArray result = new JsonArray ();
    3131
    32                                 foreach (KeyValuePair<string, (int, int)> kvp in markers) {
    33                                         JSONObject marker = new JSONObject ();
    34                                         marker.Add ("id", new JSONString (kvp.Key));
    35                                         marker.Add ("lat", new JSONNumber (kvp.Value.Item1));
    36                                         marker.Add ("lng", new JSONNumber (kvp.Value.Item2));
     32                                foreach ((string markerId, (int, int) coordinates) in markers) {
     33                                        JsonObject marker = new JsonObject ();
     34                                        marker.Add ("id", new JsonString (markerId));
     35                                        marker.Add ("lat", new JsonNumber (coordinates.Item1));
     36                                        marker.Add ("lng", new JsonNumber (coordinates.Item2));
    3737                                        result.Add (marker);
    3838                                }
     
    4848
    4949                        {
    50                                 JSONArray result = new JSONArray ();
    51                                 JSONObject marker = new JSONObject ();
    52                                 marker.Add ("id", new JSONString (id));
    53                                 marker.Add ("lat", new JSONNumber (location.Item1));
    54                                 marker.Add ("lng", new JSONNumber (location.Item2));
     50                                JsonArray result = new JsonArray ();
     51                                JsonObject marker = new JsonObject ();
     52                                marker.Add ("id", new JsonString (id));
     53                                marker.Add ("lat", new JsonNumber (location.Item1));
     54                                marker.Add ("lng", new JsonNumber (location.Item2));
    5555                                result.Add (marker);
    5656                                SendEnvelopedResult (_context, result);
     
    5858                }
    5959
    60                 protected override void HandleRestPost (RequestContext _context, JSONNode _jsonBody) {
    61                         if (!(_jsonBody is JSONObject bodyObject)) {
     60                protected override void HandleRestPost (RequestContext _context, JsonNode _jsonBody) {
     61                        if (!(_jsonBody is JsonObject bodyObject)) {
    6262                                SendEnvelopedResult (_context, null, HttpStatusCode.BadRequest, _jsonBody, "BODY_NOT_OBJECT");
    6363                                return;
     
    7777                        markers.Add (newId, (lat, lng));
    7878
    79                         JSONString result = new JSONString (newId);
    80                         SendEnvelopedResult (_context, result);
     79                        JsonString result = new JsonString (newId);
     80                        SendEnvelopedResult (_context, result, HttpStatusCode.Created);
    8181                }
    8282
    83                 protected override void HandleRestPut (RequestContext _context, JSONNode _jsonBody) {
    84                         if (!(_jsonBody is JSONObject bodyObject)) {
     83                protected override void HandleRestPut (RequestContext _context, JsonNode _jsonBody) {
     84                        if (!(_jsonBody is JsonObject bodyObject)) {
    8585                                SendEnvelopedResult (_context, null, HttpStatusCode.BadRequest, _jsonBody, "BODY_NOT_OBJECT");
    8686                                return;
     
    9999                        string id = _context.RequestPath;
    100100
    101                         if (!markers.TryGetValue (id, out (int, int) location)) {
     101                        if (!markers.TryGetValue (id, out _)) {
    102102                                SendEnvelopedResult (_context, null, HttpStatusCode.NotFound, _jsonBody, "ID_NOT_FOUND");
    103103                                return;
     
    106106                        markers [id] = (lat, lng);
    107107
    108                         JSONObject result = new JSONObject ();
    109                         result.Add ("id", new JSONString (id));
    110                         result.Add ("lat", new JSONNumber (lat));
    111                         result.Add ("lng", new JSONNumber (lng));
     108                        JsonObject result = new JsonObject ();
     109                        result.Add ("id", new JsonString (id));
     110                        result.Add ("lat", new JsonNumber (lat));
     111                        result.Add ("lng", new JsonNumber (lng));
    112112                        SendEnvelopedResult (_context, result);
    113113                }
Note: See TracChangeset for help on using the changeset viewer.