Renaming files

This commit is contained in:
sairajzero 2021-07-17 19:10:05 +05:30
parent cd16e8aa67
commit 71846daf8a
3 changed files with 72 additions and 58 deletions

View File

@ -1,17 +1,15 @@
const http = require('http') const http = require('http')
const WebSocket = require('ws') const WebSocket = require('ws')
const supernode = require('./supernode')
const backupProcess = require('./backupProcess')
const port = 8080;
const server = http.createServer((req, res) => { const Server = module.exports = function(port, client, intra){
const server = http.createServer((req, res) => {
if (req.method === "GET") { if (req.method === "GET") {
//GET request (requesting data) //GET request (requesting data)
req.on('end', () => { req.on('end', () => {
let i = req.url.indexOf("?"); let i = req.url.indexOf("?");
if (i) { if (i) {
var request = JSON.parse(req.url.substring(i)); var request = JSON.parse(req.url.substring(i));
supernode.processRequestFromUser(request) client.processRequestFromUser(request)
.then(result => res.end(JSON.parse(result[0]))) .then(result => res.end(JSON.parse(result[0])))
.catch(error => res.end(error)) .catch(error => res.end(error))
} }
@ -23,43 +21,59 @@ const server = http.createServer((req, res) => {
req.on('end', () => { req.on('end', () => {
console.log(data); console.log(data);
//process the data storing //process the data storing
supernode.processIncomingData(data).then(result => { client.processIncomingData(data).then(result => {
res.end(result[0]); res.end(result[0]);
if (result[1]) { if (result[1]) {
if (result[1] === 'DATA') if (result[1] === 'DATA')
sendToLiveRequests(result[0]) sendToLiveRequests(result[0])
backupProcess.forwardToNextNode(result[1], result[0]) intra.forwardToNextNode(result[1], result[0])
} }
}).catch(error => res.end(error)) }).catch(error => res.end(error))
}) })
} }
}); });
server.listen(port, () => { server.listen(port, (err) => {
console.log(`Server running at port ${port}`) if(!err)
}) console.log(`Server running at port ${port}`);
})
const wsServer = new WebSocket.Server({ const wsServer = new WebSocket.Server({
server server
}); });
wsServer.on('connection', function connection(ws) { wsServer.on('connection', function connection(ws) {
ws.onmessage = function(evt) { ws.onmessage = function(evt) {
let message = evt.data; let message = evt.data;
if (message.startsWith(backupProcess.SUPERNODE_INDICATOR)) if (message.startsWith(intra.SUPERNODE_INDICATOR))
backupProcess.processTaskFromSupernode(message, ws); intra.processTaskFromSupernode(message, ws);
else { else {
var request = JSON.parse(message); var request = JSON.parse(message);
supernode.processRequestFromUser(JSON.parse(message)) client.processRequestFromUser(JSON.parse(message))
.then(result => { .then(result => {
ws.send(JSON.parse(result[0])) ws.send(JSON.parse(result[0]))
ws._liveReq = request; ws._liveReq = request;
}).catch(error => ws.send(error)) }).catch(error => ws.send(error))
} }
} }
}); });
wsServer.on('connection', function connection(ws) {
ws.onmessage = function(evt) {
let message = evt.data;
if (message.startsWith(intra.SUPERNODE_INDICATOR))
intra.processTaskFromSupernode(message, ws);
else {
var request = JSON.parse(message);
client.processRequestFromUser(JSON.parse(message))
.then(result => {
ws.send(JSON.parse(result[0]))
ws._liveReq = request;
}).catch(error => ws.send(error))
}
}
});
function sendToLiveRequests(data) { Object.defineProperty(this, "http", {
wsServer.clients.forEach(ws => { get: () => server
if (supernode.checkIfRequestSatisfy(ws._liveReq, data)) });
ws.send(data) Object.defineProperty(this, "webSocket", {
}) get: () => wsServer
});
} }