aboutsummaryrefslogtreecommitdiff
path: root/diplomacy/server/request_managers.py
diff options
context:
space:
mode:
authornotoraptor <stevenbocco@gmail.com>2019-08-26 15:02:44 -0400
committerPhilip Paquette <pcpaquette@gmail.com>2019-08-28 06:15:47 -0400
commit2e26ae581062ca636dd02718e7cbbf71e022b04a (patch)
tree1a122316ece505b9ec3324e04ec3e7926f9d5ba4 /diplomacy/server/request_managers.py
parenta42d870221c251bebfd3cc6cc1e1c0d23b9c53b6 (diff)
Client sends a 'UnknownToken' request when it receives a notification for an unknown token.
Diffstat (limited to 'diplomacy/server/request_managers.py')
-rw-r--r--diplomacy/server/request_managers.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/diplomacy/server/request_managers.py b/diplomacy/server/request_managers.py
index cedff5f..259147a 100644
--- a/diplomacy/server/request_managers.py
+++ b/diplomacy/server/request_managers.py
@@ -1126,6 +1126,21 @@ def on_synchronize(server, request, connection_handler):
timestamp_created=level.game.timestamp_created,
request_id=request.request_id)
+def on_unknown_token(server, request, connection_handler):
+ """ Manage notification request UnknownToken.
+ :param server: server which receives the request.
+ :param request: request to manage.
+ :param connection_handler: connection handler from which the request was sent.
+ :return: NoResponse. No responses are sent back to the server
+ :type server: diplomacy.Server
+ :type request: diplomacy.communication.requests.UnknownToken
+ """
+ del connection_handler # Unused - Not sending any responses back
+ LOGGER.debug('Removing token %s', request.token)
+ if server.users.has_token(request.token):
+ server.remove_token(request.token)
+ return responses.NoResponse()
+
def on_vote(server, request, connection_handler):
""" Manage request Vote.
:param server: server which receives the request.
@@ -1185,6 +1200,7 @@ MAPPING = {
requests.SetWaitFlag: on_set_wait_flag,
requests.SignIn: on_sign_in,
requests.Synchronize: on_synchronize,
+ requests.UnknownToken: on_unknown_token,
requests.Vote: on_vote,
}