Add client and zone subscriptions

This commit is contained in:
KimLS
2017-01-13 23:46:20 -08:00
parent 83b51b04d3
commit 28325467da
7 changed files with 110 additions and 8 deletions
+2 -1
View File
@@ -2,7 +2,8 @@ const WebSocket = require('ws');
const ws = new WebSocket('ws://localhost:9080');
ws.on('open', function open() {
ws.send(JSON.stringify({authorization: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IktTcHJpdGUxIiwiZXhwIjoxNDg0NzIzNDQxLCJpYXQiOjE0ODQxMTg2NDF9.Lmwm572yMWIu1DUrfer8JVvl1DGEkdnMsMFp5WDzp_A', id: '1', method: 'EQW::Subscribe::WorldZoneUpdate', params: []}));
//ws.send(JSON.stringify({authorization: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IktTcHJpdGUxIiwiZXhwIjoxNDg0NzIzNDQxLCJpYXQiOjE0ODQxMTg2NDF9.Lmwm572yMWIu1DUrfer8JVvl1DGEkdnMsMFp5WDzp_A', method: 'EQW::ZoneUpdate::Subscribe'}));
ws.send(JSON.stringify({authorization: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IktTcHJpdGUxIiwiZXhwIjoxNDg0NzIzNDQxLCJpYXQiOjE0ODQxMTg2NDF9.Lmwm572yMWIu1DUrfer8JVvl1DGEkdnMsMFp5WDzp_A', method: 'EQW::ClientUpdate::Subscribe'}));
});
ws.on('message', function(data, flags) {
+2 -1
View File
@@ -4,7 +4,8 @@ var RegisterEQW = function(wsi, api) {
common.Register('EQW::IsLocked', wsi, api);
common.Register('EQW::Lock', wsi, api);
common.Register('EQW::Unlock', wsi, api);
common.RegisterSubscription('EQW', 'WorldZoneUpdate', wsi, api);
common.RegisterSubscription('EQW::ZoneUpdate', wsi, api);
common.RegisterSubscription('EQW::ClientUpdate', wsi, api);
};
module.exports = {
+3 -3
View File
@@ -11,12 +11,12 @@ function Register(name, wsi, api) {
}, true);
}
function RegisterSubscription(namespace, event, wsi, api) {
wsi.Register(namespace + '::Subscribe::' + event, function(request) {
function RegisterSubscription(event, wsi, api) {
wsi.Register(event + '::Subscribe', function(request) {
api.Subscribe(event, request.ws);
});
wsi.Register(namespace + '::Unsubscribe::' + event, function(request) {
wsi.Register(event + '::Unsubscribe', function(request) {
api.Unsubscribe(event, request.ws);
});
}