diff options
| author | Adam Soltys <[email protected]> | 2020-05-15 20:50:24 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2020-05-15 20:50:24 -0700 |
| commit | 86b87c7f4f4bbb52aa89d2b8dc33ef404fe200b6 (patch) | |
| tree | 26c001a9bc0c7ff47f9b5f3051741ce1f97294a7 | |
| parent | 162fc00b5ad73211308fa06af6c405d8ad54e712 (diff) | |
| download | coinos-server-86b87c7f4f4bbb52aa89d2b8dc33ef404fe200b6.tar.gz coinos-server-86b87c7f4f4bbb52aa89d2b8dc33ef404fe200b6.zip | |
safer sockets
| -rw-r--r-- | lib/sockets.js | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/sockets.js b/lib/sockets.js index ee453ce7..adea1fa3 100644 --- a/lib/sockets.js +++ b/lib/sockets.js @@ -37,6 +37,7 @@ const names = {}; wss.on("connection", function (ws) { const id = uuidv4(); + setTimeout(() => ws.ok || ws.close(), 2000); ws.on("message", async (token) => { if (!token || token === "null") return; @@ -46,11 +47,13 @@ wss.on("connection", function (ws) { sockets[username][id] = ws; names[id] = username; + ws.ok = true; ws.send(JSON.stringify({ type: "networks", data: networks })); ws.send(JSON.stringify({ type: "rates", data: app.get("rates") })); ws.send(JSON.stringify({ type: "login", data: await getUser(username) })); l.info("socket open", username, id); } catch (e) { + ws.close(); l.error("problem opening socket", token, e.message, id); } }); |
