const http = require('http'); const log = require('hlogger').createLogger('hci-http'); var activator = { start(context) { this.server = http.createServer((req,res) => { context.emit('req:'+req.url,[req,res]) //?? .done(([req,res],evt) => { // Array of results if(res.statusCode == 404 || evt.count == 0) { res.writeHead(404,"Not found"); res.end("Not found"); } }); // Setup stuff here to routing }); // log.info("Server started at: " + 3500); this.server.listen(3500); this.clients = {}; this.server.on('connection',(conn) => { var key = conn.remoteAddress + ':' + conn.remotePort; this.clients[key] = conn; conn.on('close',() => { delete this.clients[key]; }); }); this.server.on('close',() => { log.info("Http server went down"); for(var k in this.clients) { this.clients[k].destroy(); }; }); context.toggleOn('serverStart',this); }, stop(context) { log.info("Server shutting down"); context.toggleOff('serverStart'); context.emit('serverStop'); this.server.close() // Shutdown clients for(var k in this.clients) { this.clients[k].destroy(); }; //this.server.emit('user:close'); } } module.exports.bundleActivator = activator;