Comparing version 3.1.5 to 3.1.6
@@ -25,2 +25,3 @@ /* --------------------------------------------------------------------------- | ||
connect : function() { | ||
// Publish a Message on Connect | ||
@@ -27,0 +28,0 @@ network.publish({ |
{ | ||
"name": "pubnub", | ||
"preferGlobal": false, | ||
"version": "3.1.5", | ||
"version": "3.1.6", | ||
"author": "Pubnub <stephen@pubnub.com>", | ||
@@ -6,0 +6,0 @@ "description": "Publish & Subscribe Real-time Messaging with PubNub", |
@@ -49,3 +49,19 @@ /* --------------------------------------------------------------------------- | ||
/** | ||
* NEXTORIGIN | ||
* ========== | ||
* var next_origin = nextorigin(); | ||
*/ | ||
var nextorigin = (function() { | ||
var ori = Math.floor(Math.random() * 9) + 1; | ||
return function(origin) { | ||
return origin.indexOf('pubsub') > 0 | ||
&& origin.replace( | ||
'pubsub', 'ps' + (++ori < 10 ? ori : ori=1) | ||
) || origin; | ||
} | ||
})(); | ||
/** | ||
* LOG | ||
@@ -98,4 +114,4 @@ * === | ||
}, body = '' | ||
, google = http.createClient( 80, origin, ssl ) | ||
, request = google.request( 'GET', url, { 'host': origin }); | ||
, client = http.createClient( 80, origin, ssl ) | ||
, request = client.request( 'GET', url, { 'host': origin }); | ||
@@ -243,10 +259,15 @@ request.end(); | ||
*/ | ||
subscribe : function( args, callback ) { | ||
var channel = args['channel'] | ||
, callback = callback || args['callback'] | ||
, timetoken = 0 | ||
, error = args['error'] || function(){} | ||
, connected = 0 | ||
, connect = args['connect'] || function(){}; | ||
'subscribe' : function( args, callback ) { | ||
var channel = args['channel'] | ||
, callback = callback || args['callback'] | ||
, timetoken = 0 | ||
, error = args['error'] || function(){} | ||
, connect = args['connect'] || function(){} | ||
, reconnect = args['reconnect'] || function(){} | ||
, disconnect = args['disconnect'] || function(){} | ||
, disconnected = 0 | ||
, connected = 0 | ||
, origin = nextorigin(ORIGIN); | ||
// Make sure we have a Channel | ||
@@ -270,17 +291,25 @@ if (!channel) return log('Missing Channel'); | ||
CHANNELS[channel].done = xdr({ | ||
ssl : SSL, | ||
url : [ | ||
ssl : SSL, | ||
origin : origin, | ||
url : [ | ||
'subscribe', | ||
SUBSCRIBE_KEY, encode(channel), | ||
SUBSCRIBE_KEY, | ||
encode(channel), | ||
'0', timetoken | ||
], | ||
origin : ORIGIN, | ||
fail : function() { | ||
// Disconnect | ||
if (!disconnected) { | ||
disconnected = 1; | ||
disconnect(); | ||
} | ||
timeout( pubnub, 1000 ); | ||
PN.time(function(success){ | ||
PN['time'](function(success){ | ||
success || error(); | ||
}); | ||
}, | ||
success : function(message) { | ||
success : function(messages) { | ||
if (!CHANNELS[channel].connected) return; | ||
// Connect | ||
if (!connected) { | ||
@@ -290,5 +319,15 @@ connected = 1; | ||
} | ||
timetoken = message[1]; | ||
// Reconnect | ||
if (disconnected) { | ||
disconnected = 0; | ||
reconnect(); | ||
} | ||
messages[0].forEach(function(msg) { | ||
callback( msg, messages ); | ||
}); | ||
timetoken = messages[1]; | ||
timeout( pubnub, 10 ); | ||
message[0].forEach(function(msg) { callback(msg) }); | ||
} | ||
@@ -300,3 +339,3 @@ }); | ||
pubnub(); | ||
} | ||
}, | ||
}; | ||
@@ -303,0 +342,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
21517
542