From a3d2452e4e2db305fee8b6b8d3f6419df970a1be Mon Sep 17 00:00:00 2001 From: sairajzero Date: Fri, 23 Jul 2021 21:27:56 +0530 Subject: [PATCH] Bug fix - Fixed: bugs in processing GET method - Restored sendToLiveRequests() that was deleted in between commits --- src/server.js | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/server.js b/src/server.js index 24aadb0..1d9ffe5 100644 --- a/src/server.js +++ b/src/server.js @@ -1,5 +1,6 @@ const http = require('http'); const WebSocket = require('ws'); +const url = require('url'); module.exports = function Server(port, client, intra) { @@ -7,21 +8,18 @@ module.exports = function Server(port, client, intra) { const server = http.createServer((req, res) => { if (req.method === "GET") { - //GET request (requesting data) - req.on('end', () => { - let i = req.url.indexOf("?"); - if (i !== -1) { - var request = JSON.parse(req.url.substring(i)); - client.processRequestFromUser(request) - .then(result => res.end(JSON.parse(result[0]))) - .catch(error => res.end(error.toString())); - }; - }); + //GET: requesting data + let u = url.parse(req.url, true); + if (!u.search) + return res.end(""); + client.processRequestFromUser(u.query) + .then(result => res.end(JSON.parse(result[0]))) + .catch(error => res.end(error.toString())); } else if (req.method === "POST") { + //POST: All data processing (required JSON input) let data = ''; req.on('data', chunk => data += chunk); req.on('end', () => { - console.log(data); //process the data storing client.processIncomingData(data).then(result => { res.end(result[0]); @@ -62,6 +60,13 @@ module.exports = function Server(port, client, intra) { }; }); + function sendToLiveRequests(data) { + wsServer.clients.forEach(ws => { + if (client.checkIfRequestSatisfy(ws._liveReq, data)) + ws.send(data); + }); + }; + Object.defineProperty(this, "http", { get: () => server });