Skip to content

Commit

Permalink
hacky web socket fix
Browse files Browse the repository at this point in the history
  • Loading branch information
moimikey committed May 10, 2020
1 parent cbb06a9 commit ccc6295
Showing 1 changed file with 44 additions and 42 deletions.
86 changes: 44 additions & 42 deletions js/socketclient.js
Original file line number Diff line number Diff line change
@@ -1,42 +1,44 @@
var MMSocket = function(moduleName) {
var self = this;

if (typeof moduleName !== "string") {
throw new Error("Please set the module name for the MMSocket.");
}

self.moduleName = moduleName;

// Private Methods
self.socket = io("/" + self.moduleName, {
path: window.location.pathname + "socket.io"
});
var notificationCallback = function() {};

var onevent = self.socket.onevent;
self.socket.onevent = function(packet) {
var args = packet.data || [];
onevent.call(this, packet); // original call
packet.data = ["*"].concat(args);
onevent.call(this, packet); // additional call to catch-all
};

// register catch all.
self.socket.on("*", function(notification, payload) {
if (notification !== "*") {
notificationCallback(notification, payload);
}
});

// Public Methods
this.setNotificationCallback = function(callback) {
notificationCallback = callback;
};

this.sendNotification = function(notification, payload) {
if (typeof payload === "undefined") {
payload = {};
}
self.socket.emit(notification, payload);
};
};
var MMSocket = function (moduleName) {
var self = this

if (typeof moduleName !== 'string') {
throw new Error('Please set the module name for the MMSocket.')
}

self.moduleName = moduleName

// Private Methods
// self.socket = io("/" + self.moduleName, {
// path: window.location.pathname + "socket.io"
// });
self.socket = io('/' + self.moduleName)

var notificationCallback = function () {}

var onevent = self.socket.onevent
self.socket.onevent = function (packet) {
var args = packet.data || []
onevent.call(this, packet) // original call
packet.data = ['*'].concat(args)
onevent.call(this, packet) // additional call to catch-all
}

// register catch all.
self.socket.on('*', function (notification, payload) {
if (notification !== '*') {
notificationCallback(notification, payload)
}
})

// Public Methods
this.setNotificationCallback = function (callback) {
notificationCallback = callback
}

this.sendNotification = function (notification, payload) {
if (typeof payload === 'undefined') {
payload = {}
}
self.socket.emit(notification, payload)
}
}

0 comments on commit ccc6295

Please sign in to comment.