b430667e by Lorenzo Mangani Committed by GitHub

Update server.js

1 parent 2dc3b673
......@@ -8,6 +8,7 @@ const url = require('url');
var rimraf = require("rimraf");
const Gun = require('gun/gun');
require('./gun-ws.js');
require('./memdisk.js');
const http = require('http');
const WebSocket = require('ws');
var server = http.createServer();
......@@ -15,9 +16,8 @@ var server = http.createServer();
// LRU with last used sockets
const QuickLRU = require('quick-lru');
var evict = function(key,value){
console.log('!!!!!!!!!!!!!!! Garbage Collect',key);
var uuid = value.gun.opt()._.opt.ws.uuid;
if(uuid) rimraf("/tmp/"+uuid, function () { console.log("Cleaned up ID",uuid); });
console.log('Garbage Collect',key);
if(key) rimraf("/tmp/"+key, function () { console.log("Cleaned up ID",key); });
}
const lru = new QuickLRU({maxSize: 10, onEviction: evict });
......@@ -34,14 +34,12 @@ server.on('upgrade', async function (request, socket, head) {
// Create Node
console.log('Create id',pathname);
// NOTE: Only works with lib/ws.js shim allowing a predefined WS as ws.web parameter in Gun constructor
var uuid = Math.random().toString(36).substring(7);
gun.server = new WebSocket.Server({ noServer: true, path: pathname});
console.log('set peer',request.headers.host+pathname);
gun.gun = new Gun({
peers:[], // should we use self as peer?
localStorage: false,
uuid: uuid,
file: "tmp/"+uuid,
file: "tmp/"+pathname,
multicast: false,
ws: { noServer: true, path: pathname, web: gun.server },
web: gun.server
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!