1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- const http = require('http');
- const log = require('hlogger').createLogger('hci-http');
- var activator = {
- start(context) {
- this.server = http.createServer((req,res) => {
- // Global emmit
- context.emit('req',req,res) //??
- .done((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.state('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;
|