From 61c74c7461d20e678e571ad6f2dcb13f00ff0704 Mon Sep 17 00:00:00 2001
From: Anton <anton@hedvig.com>
Date: Tue, 15 Feb 2022 14:44:29 +0100
Subject: [PATCH] kompletterat lab 3

---
 lab3/twidder/database.db      | Bin 28672 -> 28672 bytes
 lab3/twidder/server.py        |  26 +++++++++++++++-----------
 lab3/twidder/static/client.js |   4 ++--
 3 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/lab3/twidder/database.db b/lab3/twidder/database.db
index b46fceb8a2352e0276d2f3f4579482b0737cc090..d66d2940aee5e5885956b9b58e23095ebcb5b977 100644
GIT binary patch
delta 674
zcmZp8z}WDBae_2s|3n#Q#{P{7OZX+YxNRBuJNa4o`uS9Nm+|WIY~V5B-pXyeu~Ct`
zzKn}gzENFLR8&|pF|Q;)&%w~hSjAMOD8Do>rP$Wg*wnzlK&8mk+uYl^M9(#?%H6=(
zElH)wquk8d-zdk+r_7`@D!aHOFv~x<q&UE@z%(by!p9}dH?Z8_tR$<%$q;O+LQ-N@
zadKu!Wp-({TWW4%PHHVDr)i_QaJ{&&usB$WLvcxBPEJx{a(1F#a(*s`8%&GC3ylMu
zQ&V#+i_=m9lT|$Pib^vKbNxeHD-yk<QiD@+4U5yfU4zRlvwWP30^IULO(IRb%*>qJ
zEDVi|4=pz|GKL`kl8n@%Dh^J?Ms@Mc)-orV1-STQ8Te!QC-bl8Z{dH-pS@W?!INK|
zmsy?>;xt1eV=f71Qz#GBp`4Rj^lRC;Uoi-9Z=B3-puoJ5d*jB&cJ6v}31<0ZxPJfC
zFkKV3LT}3)mr@g_d|&4vpJ3yltPJDOK+C-HAQQ7R<5Dl@F#oDbN1hoBmI#f;x+&&G
z&MC!a$u9oxxjAkb-WAyfPWi6+K3T?z#i@Z_+3`{7Icd28g$5R4%!*Krxrv(%Y%Vfu
z@-i|A@LXizYvkL=7sxx2=OXVxenI|)e2RPzc@23#@;mYu@?Ydl<W1bzxSS_mpE;S4
T1cyp6FfbU9;J(cUz891LNK4Q%

delta 261
zcmZp8z}WDBae_2s^F$eE#^#L)OZY`NcuW}hJNa4o`uS9Nm+|WIY~V53*eJuZ*+k|7
zvj_)&3j_aT{`LGV{BQXe^B?EG$-j5AqJj<o#0dtITl8z$cxEsNaKD_)ZlJ*Ua%1B`
zZYv9MX2s;hypsGphup->ob(Kr$Rc+W=i+qT%8X2ppyI-$u$1uds;oo<rvP)qG}n+|
zk3ciC5@XNw&B`|SnAI5=7zB738TcCcHu44XPUJnvFUY@;Pm%8-uOaV8UPgXL{zCqX
Xyos9?6>jqA>oX@al465_?*%0Q&s$IA

diff --git a/lab3/twidder/server.py b/lab3/twidder/server.py
index a45ca73..1900858 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 3410338..ec673f4 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));
   };
-- 
GitLab