Skip to content

Commit 87e4f2a

Browse files
committed
fix keepAlive in SSL mode
1 parent a1a62d2 commit 87e4f2a

File tree

2 files changed

+29
-12
lines changed

2 files changed

+29
-12
lines changed

node.js/pubnub.js

+15-6
Original file line numberDiff line numberDiff line change
@@ -687,6 +687,7 @@ function PN_API(setup) {
687687

688688
'channel_group' : function(args, callback) {
689689
var ns_ch = args['channel_group']
690+
, callback = callback || args['callback']
690691
, channels = args['channels'] || args['channel']
691692
, cloak = args['cloak']
692693
, namespace
@@ -1987,11 +1988,13 @@ THE SOFTWARE.
19871988
var NOW = 1
19881989
, http = require('http')
19891990
, https = require('https')
1990-
, keepAliveAgent = new (keepAliveIsEmbedded() ? http.Agent : require('agentkeepalive'))({
1991-
keepAlive: true,
1992-
keepAliveMsecs: 300000,
1993-
maxSockets: 5
1994-
})
1991+
, keepAliveConfig = {
1992+
keepAlive: true,
1993+
keepAliveMsecs: 300000,
1994+
maxSockets: 5
1995+
}
1996+
, keepAliveAgent = new (keepAliveIsEmbedded() ? http.Agent : require('agentkeepalive'))(keepAliveConfig)
1997+
, keepAliveAgentSSL = new (keepAliveIsEmbedded() ? https.Agent: require('agentkeepalive'))(keepAliveConfig)
19951998
, XHRTME = 310000
19961999
, DEF_TIMEOUT = 10000
19972000
, SECOND = 1000
@@ -2085,10 +2088,16 @@ function xdr( setup ) {
20852088
options.headers = proxy ? { 'Host': origin }:null;
20862089
options.method = mode;
20872090
options.keepAlive= !!keepAliveAgent;
2088-
options.agent = keepAliveAgent;
20892091
options.body = payload;
20902092

2093+
if (options.keepAlive && ssl) {
2094+
options.agent = keepAliveAgentSSL;
2095+
} else if (options.keepAlive) {
2096+
options.agent = keepAliveAgent;
2097+
}
2098+
20912099
require('http').globalAgent.maxSockets = Infinity;
2100+
20922101
try {
20932102
request = (ssl ? https : http)['request'](options, function(response) {
20942103
response.setEncoding('utf8');

node.js/unassembled/platform.js

100644100755
+14-6
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,13 @@ THE SOFTWARE.
3535
var NOW = 1
3636
, http = require('http')
3737
, https = require('https')
38-
, keepAliveAgent = new (keepAliveIsEmbedded() ? http.Agent : require('agentkeepalive'))({
39-
keepAlive: true,
40-
keepAliveMsecs: 300000,
41-
maxSockets: 5
42-
})
38+
, keepAliveConfig = {
39+
keepAlive: true,
40+
keepAliveMsecs: 300000,
41+
maxSockets: 5
42+
}
43+
, keepAliveAgent = new (keepAliveIsEmbedded() ? http.Agent : require('agentkeepalive'))(keepAliveConfig)
44+
, keepAliveAgentSSL = new (keepAliveIsEmbedded() ? https.Agent: require('agentkeepalive'))(keepAliveConfig)
4345
, XHRTME = 310000
4446
, DEF_TIMEOUT = 10000
4547
, SECOND = 1000
@@ -133,10 +135,16 @@ function xdr( setup ) {
133135
options.headers = proxy ? { 'Host': origin }:null;
134136
options.method = mode;
135137
options.keepAlive= !!keepAliveAgent;
136-
options.agent = keepAliveAgent;
137138
options.body = payload;
138139

140+
if (options.keepAlive && ssl) {
141+
options.agent = keepAliveAgentSSL;
142+
} else if (options.keepAlive) {
143+
options.agent = keepAliveAgent;
144+
}
145+
139146
require('http').globalAgent.maxSockets = Infinity;
147+
140148
try {
141149
request = (ssl ? https : http)['request'](options, function(response) {
142150
response.setEncoding('utf8');

0 commit comments

Comments
 (0)