Basic pusher call

This commit is contained in:
James Barnsley
2016-10-27 21:20:05 +13:00
parent 6de44cda53
commit 7be39dc4d4
3 changed files with 32 additions and 6 deletions

View File

@ -29,4 +29,11 @@ export let SizedImages = function( images ){
}
return sizes;
}
export let generateGuid = function(){
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
return v.toString(16);
});
}

View File

@ -1,5 +1,6 @@
var actions = require('./actions.js')
var helpers = require('../../helpers.js')
const PusherMiddleware = (function(){
@ -10,10 +11,18 @@ const PusherMiddleware = (function(){
const handleMessage = (ws, store, message) => {
switch( message.action ){
default:
store.dispatch({ type: 'PUSHER_'+message.action.toUpperCase(), data: message.data })
var name = message.action.toUpperCase();
name = name.replace('GET_','');
store.dispatch({ type: 'PUSHER_'+name, data: message.data })
}
}
const makeRequest = (data) => {
data.type = 'query';
data.message_id = helpers.generateGuid();
socket.send( JSON.stringify(data) );
}
/**
* Middleware
*
@ -47,6 +56,10 @@ const PusherMiddleware = (function(){
break;
case 'PUSHER_CONNECTED':
makeRequest({ action: 'get_version' });
break;
// This action is irrelevant to us, pass it on to the next middleware
default:
return next(action);

View File

@ -8,11 +8,17 @@ export default function reducer(pusher = {}, action){
case 'PUSHER_DISCONNECTED':
return Object.assign({}, pusher, { connected: false, connecting: false });
case 'PUSHER_SET_CONFIG':
return Object.assign({}, pusher, {
host: action.host,
port: action.port
});
case 'PUSHER_SET_PORT':
return Object.assign({}, pusher, { port: action.port });
case 'PUSHER_CLIENT_CONNECTED':
return Object.assign({}, pusher, { connections: action.data });
case 'PUSHER_CONNECTIONS_LOADED':
return Object.assign({}, pusher, { connections: action.data });
case 'PUSHER_VERSION':
return Object.assign({}, pusher, { version: action.data });
default:
return pusher