diff options
author | lonkaars <l.leblansch@gmail.com> | 2021-03-19 18:45:23 +0100 |
---|---|---|
committer | lonkaars <l.leblansch@gmail.com> | 2021-03-19 18:45:23 +0100 |
commit | 38f22113d3d97f99125ebdafba4aedafc5780987 (patch) | |
tree | 3c6eb7848bda780bed34c68409825348daeeeabc /api/events.py | |
parent | 8c5618c497045a87cd2d9c663e695aeab95d24d7 (diff) |
socket context + use socket.io's rooms feature for client seperation
Diffstat (limited to 'api/events.py')
-rw-r--r-- | api/events.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/api/events.py b/api/events.py new file mode 100644 index 0000000..b7b8ab4 --- /dev/null +++ b/api/events.py @@ -0,0 +1,28 @@ +from flask import Blueprint, request, make_response +from flask_socketio import SocketIO, emit, Namespace, join_room, leave_room, rooms +from socket_io import io +from auth.login_token import token_login +from http import cookies + +from game.cleanup import set_interval +import time + +def get_token(environ): + cookie = environ.get("HTTP_COOKIE") + if not cookie: return None + parsed = cookies.SimpleCookie() + parsed.load(cookie) + token = parsed.get("token") + if not token: return None + return token.value + +@io.on("connect") +def connect(): + token = get_token(request.environ) + if not token: return + + user_id = token_login(token) + if not user_id: return + + join_room(user_id) + |