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]));
        }