cloudcms-server 3.2.293 → 3.2.295
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +20 -0
- package/middleware/proxy/proxy.js +3 -0
- package/package.json +2 -1
- package/util/proxy-factory.js +34 -34
package/index.js
CHANGED
|
@@ -55,6 +55,26 @@ if (typeof(dns.setDefaultResultOrder) !== "undefined") {
|
|
|
55
55
|
dns.setDefaultResultOrder("ipv4first");
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
+
// default agents
|
|
59
|
+
var HttpKeepAliveAgent = require('agentkeepalive');
|
|
60
|
+
var HttpsKeepAliveAgent = require('agentkeepalive').HttpsAgent;
|
|
61
|
+
http.globalAgent = new HttpKeepAliveAgent({
|
|
62
|
+
keepAlive: true,
|
|
63
|
+
keepAliveMsecs: 30000,
|
|
64
|
+
maxSockets: 24000,
|
|
65
|
+
maxFreeSockets: 256,
|
|
66
|
+
timeout: process.defaultHttpTimeoutMs,
|
|
67
|
+
freeSocketTimeout: 60000
|
|
68
|
+
});
|
|
69
|
+
https.globalAgent = new HttpsKeepAliveAgent({
|
|
70
|
+
keepAlive: true,
|
|
71
|
+
keepAliveMsecs: 30000,
|
|
72
|
+
maxSockets: 24000,
|
|
73
|
+
maxFreeSockets: 256,
|
|
74
|
+
timeout: process.defaultHttpTimeoutMs,
|
|
75
|
+
freeSocketTimeout: 60000
|
|
76
|
+
});
|
|
77
|
+
|
|
58
78
|
// disable for now
|
|
59
79
|
/*
|
|
60
80
|
// report http/https socket state every minute
|
|
@@ -244,7 +244,10 @@ exports = module.exports = function()
|
|
|
244
244
|
});
|
|
245
245
|
}
|
|
246
246
|
|
|
247
|
+
var t1 = new Date().getTime();
|
|
247
248
|
proxyFactory.acquireProxyHandler(proxyTarget, null, function(err, proxyHandler) {
|
|
249
|
+
var t2 = new Date().getTime();
|
|
250
|
+
console.log("t21: " + (t2-t1));
|
|
248
251
|
if (err) {
|
|
249
252
|
return next(err);
|
|
250
253
|
}
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
},
|
|
7
7
|
"name": "cloudcms-server",
|
|
8
8
|
"description": "Cloud CMS Application Server Module",
|
|
9
|
-
"version": "3.2.
|
|
9
|
+
"version": "3.2.295",
|
|
10
10
|
"repository": {
|
|
11
11
|
"type": "git",
|
|
12
12
|
"url": "git://github.com/gitana/cloudcms-server.git"
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"@socket.io/redis-adapter": "^7.2.0",
|
|
17
17
|
"@socket.io/sticky": "^1.0.1",
|
|
18
18
|
"accepts": "^1.3.8",
|
|
19
|
+
"agentkeepalive": "^4.5.0",
|
|
19
20
|
"alpaca": "^1.5.27",
|
|
20
21
|
"archiver": "^1.3.0",
|
|
21
22
|
"async": "^3.2.3",
|
package/util/proxy-factory.js
CHANGED
|
@@ -34,35 +34,40 @@ var acquireProxyHandler = exports.acquireProxyHandler = function(proxyTarget, pa
|
|
|
34
34
|
return callback(null, _cachedHandler);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
// take out a thread lock
|
|
38
|
-
_LOCK(["acquireProxyHandler", name], function(err, releaseLockFn) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
37
|
+
// // take out a thread lock
|
|
38
|
+
// _LOCK(["acquireProxyHandler", name], function(err, releaseLockFn) {
|
|
39
|
+
//
|
|
40
|
+
// if (err)
|
|
41
|
+
// {
|
|
42
|
+
// console.log("Failed to acquire proxy handler: " + name + ", err: ", err);
|
|
43
|
+
//
|
|
44
|
+
// // failed to acquire lock
|
|
45
|
+
// return callback(err);
|
|
46
|
+
// }
|
|
47
|
+
//
|
|
48
|
+
// // second check to make sure another thread didn't create the handler in the meantime
|
|
49
|
+
// _cachedHandler = NAMED_PROXY_HANDLERS_CACHE[name];
|
|
50
|
+
// if (_cachedHandler)
|
|
51
|
+
// {
|
|
52
|
+
// releaseLockFn();
|
|
53
|
+
// return callback(null, _cachedHandler);
|
|
54
|
+
// }
|
|
55
|
+
//
|
|
56
|
+
// // create the proxy handler and cache it into LRU cache
|
|
57
|
+
// //console.log("Acquiring proxy handler: " + name + ", for target: " + proxyTarget + " and prefix: " + pathPrefix);
|
|
58
|
+
// _cachedHandler = createProxyHandler(proxyTarget, pathPrefix);
|
|
59
|
+
//
|
|
60
|
+
// // store back into LRU cache
|
|
61
|
+
// NAMED_PROXY_HANDLERS_CACHE[name] = _cachedHandler;
|
|
62
|
+
//
|
|
63
|
+
// releaseLockFn();
|
|
64
|
+
// callback(null, _cachedHandler);
|
|
65
|
+
// });
|
|
59
66
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
callback(null, _cachedHandler);
|
|
65
|
-
});
|
|
67
|
+
_cachedHandler = createProxyHandler(proxyTarget, pathPrefix);
|
|
68
|
+
NAMED_PROXY_HANDLERS_CACHE[name] = _cachedHandler;
|
|
69
|
+
|
|
70
|
+
callback(null, _cachedHandler);
|
|
66
71
|
};
|
|
67
72
|
|
|
68
73
|
|
|
@@ -72,11 +77,7 @@ var createProxyHandler = function(proxyTarget, pathPrefix)
|
|
|
72
77
|
{
|
|
73
78
|
const { proxy, close } = require('fast-proxy')({
|
|
74
79
|
base: proxyTarget,
|
|
75
|
-
cacheURLs:
|
|
76
|
-
keepAliveMsecs: 1000 * 60 * 5, // five minutes
|
|
77
|
-
maxSockets: 32168,
|
|
78
|
-
maxFreeSockets: 32168,
|
|
79
|
-
keepAlive: true,
|
|
80
|
+
cacheURLs: 0,
|
|
80
81
|
//http2: true,
|
|
81
82
|
//undici: true
|
|
82
83
|
});
|
|
@@ -246,7 +247,6 @@ var createProxyHandler = function(proxyTarget, pathPrefix)
|
|
|
246
247
|
//////////////////////////////////////////////////////////////////////////
|
|
247
248
|
|
|
248
249
|
var proxyRequestHandler = function(req, res) {
|
|
249
|
-
|
|
250
250
|
proxy(req, res, pathPrefix, proxyOptions);
|
|
251
251
|
};
|
|
252
252
|
|