Working gateway
Change-Id: I8ca690fe9d1b7f8e20b438df1ddd48d6b2f99326
diff --git a/src/controllers/websocket.js b/src/controllers/websocket.js
new file mode 100644
index 0000000..e048419
--- /dev/null
+++ b/src/controllers/websocket.js
@@ -0,0 +1,39 @@
+(function () {
+ 'use strict';
+
+ const clients = require('./clients.js');
+ const logger = require('../config/logger.js');
+
+ let io;
+
+ exports.create = function(server) {
+ // INSTANTIATE SOCKET.IO
+ // =============================================================================
+
+ io = require('socket.io').listen(server);
+
+ // LISTEN TO "CONNECTION" EVENT (FROM SOCKET.IO)
+ // =============================================================================
+
+ io.on('connection', function (socket) {
+ logger.log('debug', 'connect %j', socket.handshake.query);
+ clients.add(socket.handshake.query);
+
+ socket.emit('connected', {message : 'Welcome to XOS'});
+
+ socket.on('disconnect', function(reason) {
+ clients.remove(socket.handshake.query);
+ logger.log('debug', 'disconnect %s %j', reason, socket.handshake.query);
+ });
+ });
+
+ };
+
+ exports.get = () => io;
+
+ // USAGE
+ // const socketIo = require('./controllers/websocket.js');
+ // const socket = socketIo.get();
+ // socket.emit('eventName', data);
+
+})();
\ No newline at end of file