diff --git a/lab3/twidder/database.db b/lab3/twidder/database.db index b46fceb8a2352e0276d2f3f4579482b0737cc090..d66d2940aee5e5885956b9b58e23095ebcb5b977 100644 Binary files a/lab3/twidder/database.db and b/lab3/twidder/database.db differ diff --git a/lab3/twidder/server.py b/lab3/twidder/server.py index a45ca7392340ab801cc616421bf2777d56a56f87..190085813b83ceb47ebb4f174a2ceca7a0cb54b7 100644 --- a/lab3/twidder/server.py +++ b/lab3/twidder/server.py @@ -294,18 +294,22 @@ def web_socket(): ws = request.environ["wsgi.websocket"] obj = ws.receive() data = json.loads(obj) - try: - active_sockets[data["email"]] = ws - while True: - obj = ws.receive() - if obj is None: - active_sockets.pop(data["email"], None) - ws.close() - return "" - - except WebSocketError as e: - active_sockets.pop(data["email"], None) + token = data["token"] + current_user = get_user_by_token(token) + if current_user: + email = current_user[0] + try: + active_sockets[email] = ws + while True: + obj = ws.receive() + if obj is None: + active_sockets.pop(email, None) + ws.close() + return "" + except WebSocketError as e: + active_sockets.pop(email, None) + return "" diff --git a/lab3/twidder/static/client.js b/lab3/twidder/static/client.js index 3410338b7c2015920a017a8de533edc9a5f1ce35..ec673f43a542083875ad074781180ffde9cf3ec3 100644 --- a/lab3/twidder/static/client.js +++ b/lab3/twidder/static/client.js @@ -383,8 +383,8 @@ function connectWebSocket() { ws.onopen = function () { console.log("Ws opened"); - let email = localStorage.getItem("email"); - let userData = { "email": email}; + let token = localStorage.getItem("token"); + let userData = { "token": token}; console.log("user data" + JSON.stringify(userData)); ws.send(JSON.stringify(userData)); };