Renaming files
This commit is contained in:
parent
cd16e8aa67
commit
71846daf8a
130
src/server.js
130
src/server.js
@ -1,65 +1,79 @@
|
|||||||
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){
|
||||||
if (req.method === "GET") {
|
const server = http.createServer((req, res) => {
|
||||||
//GET request (requesting data)
|
if (req.method === "GET") {
|
||||||
req.on('end', () => {
|
//GET request (requesting data)
|
||||||
let i = req.url.indexOf("?");
|
req.on('end', () => {
|
||||||
if (i) {
|
let i = req.url.indexOf("?");
|
||||||
var request = JSON.parse(req.url.substring(i));
|
if (i) {
|
||||||
supernode.processRequestFromUser(request)
|
var request = JSON.parse(req.url.substring(i));
|
||||||
.then(result => res.end(JSON.parse(result[0])))
|
client.processRequestFromUser(request)
|
||||||
.catch(error => res.end(error))
|
.then(result => res.end(JSON.parse(result[0])))
|
||||||
}
|
.catch(error => res.end(error))
|
||||||
})
|
|
||||||
}
|
|
||||||
if (req.method === "POST") {
|
|
||||||
let data = '';
|
|
||||||
req.on('data', chunk => data += chunk)
|
|
||||||
req.on('end', () => {
|
|
||||||
console.log(data);
|
|
||||||
//process the data storing
|
|
||||||
supernode.processIncomingData(data).then(result => {
|
|
||||||
res.end(result[0]);
|
|
||||||
if (result[1]) {
|
|
||||||
if (result[1] === 'DATA')
|
|
||||||
sendToLiveRequests(result[0])
|
|
||||||
backupProcess.forwardToNextNode(result[1], result[0])
|
|
||||||
}
|
}
|
||||||
}).catch(error => res.end(error))
|
})
|
||||||
})
|
|
||||||
}
|
|
||||||
});
|
|
||||||
server.listen(port, () => {
|
|
||||||
console.log(`Server running at port ${port}`)
|
|
||||||
})
|
|
||||||
|
|
||||||
const wsServer = new WebSocket.Server({
|
|
||||||
server
|
|
||||||
});
|
|
||||||
wsServer.on('connection', function connection(ws) {
|
|
||||||
ws.onmessage = function(evt) {
|
|
||||||
let message = evt.data;
|
|
||||||
if (message.startsWith(backupProcess.SUPERNODE_INDICATOR))
|
|
||||||
backupProcess.processTaskFromSupernode(message, ws);
|
|
||||||
else {
|
|
||||||
var request = JSON.parse(message);
|
|
||||||
supernode.processRequestFromUser(JSON.parse(message))
|
|
||||||
.then(result => {
|
|
||||||
ws.send(JSON.parse(result[0]))
|
|
||||||
ws._liveReq = request;
|
|
||||||
}).catch(error => ws.send(error))
|
|
||||||
}
|
}
|
||||||
}
|
if (req.method === "POST") {
|
||||||
});
|
let data = '';
|
||||||
|
req.on('data', chunk => data += chunk)
|
||||||
function sendToLiveRequests(data) {
|
req.on('end', () => {
|
||||||
wsServer.clients.forEach(ws => {
|
console.log(data);
|
||||||
if (supernode.checkIfRequestSatisfy(ws._liveReq, data))
|
//process the data storing
|
||||||
ws.send(data)
|
client.processIncomingData(data).then(result => {
|
||||||
|
res.end(result[0]);
|
||||||
|
if (result[1]) {
|
||||||
|
if (result[1] === 'DATA')
|
||||||
|
sendToLiveRequests(result[0])
|
||||||
|
intra.forwardToNextNode(result[1], result[0])
|
||||||
|
}
|
||||||
|
}).catch(error => res.end(error))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
server.listen(port, (err) => {
|
||||||
|
if(!err)
|
||||||
|
console.log(`Server running at port ${port}`);
|
||||||
})
|
})
|
||||||
|
const wsServer = new WebSocket.Server({
|
||||||
|
server
|
||||||
|
});
|
||||||
|
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))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
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))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
Object.defineProperty(this, "http", {
|
||||||
|
get: () => server
|
||||||
|
});
|
||||||
|
Object.defineProperty(this, "webSocket", {
|
||||||
|
get: () => wsServer
|
||||||
|
});
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user