private RequestHandlingResult PutMatches(string endpoint, string body, string date) { GameServer gameServer; if (!AdvertiseServers.ContainsKey(endpoint) || !CheckMatchField(body) || !jsonSerializer.TryDeserialize(body, out gameServer) || !CheckGameMode(endpoint, gameServer.GameMode)) { return(RequestHandlingResult.Fail(HttpStatusCode.BadRequest)); } gameServer.Endpoint = endpoint; gameServer.DateAndTime = DateTime.Parse(date, null, DateTimeStyles.RoundtripKind); GameServers.Add(gameServer); dataBase.AddGameServer(gameServer); return(RequestHandlingResult.Successfull(new byte[0])); }
private RequestHandlingResult PutInfo(string endpoint, string body) { Information info; if (!jsonSerializer.TryDeserialize(body, out info) || !CheckInfoField(body)) { return(RequestHandlingResult.Fail(HttpStatusCode.BadRequest)); } var advertRequest = new AdvertiseQueryServer(endpoint, info); if (AdvertiseServers.ContainsKey(endpoint)) { dataBase.UpdateAdvertServer(advertRequest); } else { dataBase.AddAdvertServer(advertRequest); } AdvertiseServers.AddOrUpdate(endpoint, advertRequest, ((s, server) => advertRequest)); return(RequestHandlingResult.Successfull(new byte[0])); }