cloudcms-server 3.2.296 → 3.2.298

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.
@@ -9,8 +9,6 @@ var oauth2 = require("./oauth2")();
9
9
 
10
10
  var LRU = require("lru-cache");
11
11
 
12
- const { lookup } = require('dns-lookup-cache');
13
-
14
12
  var exports = module.exports;
15
13
 
16
14
  var _LOCK = function(lockIdentifiers, workFunction)
@@ -245,8 +243,7 @@ var createProxyHandler = function(proxyTarget, pathPrefix)
245
243
  return headers;
246
244
  };
247
245
  // request invoke settings
248
- proxyOptions.request = {};
249
- proxyOptions.request.lookup = lookup;
246
+ //proxyOptions.request = {};
250
247
 
251
248
  //////////////////////////////////////////////////////////////////////////
252
249
 
@@ -1,13 +1,14 @@
1
- var path = require('path');
2
- var fs = require('fs');
1
+ // var path = require('path');
2
+ // var fs = require('fs');
3
3
  var util = require("../util/util");
4
- var async = require("async");
5
- var request = require("request");
4
+ //var async = require("async");
6
5
 
7
- var http = require("http");
8
- var https = require("https");
6
+ // var http = require("http");
7
+ // var https = require("https");
9
8
 
10
- var logFactory = require("../util/logger");
9
+ var logFactory = require("./logger");
10
+
11
+ var request = require("./request");
11
12
 
12
13
  /**
13
14
  * WCM Resource Dependency Manager
@@ -82,9 +83,8 @@ exports = module.exports = function()
82
83
  "rows": rows
83
84
  },
84
85
  "headers": headers,
85
- "timeout": process.defaultHttpTimeoutMs,
86
- "agent": agent
87
- }, function (err, response, body) {
86
+ "timeout": process.defaultHttpTimeoutMs
87
+ }, function (err, response, json) {
88
88
  callback();
89
89
  });
90
90
  };
@@ -0,0 +1,135 @@
1
+ var axios = require("axios");
2
+
3
+ // var http = require("http");
4
+ // var https = require("https");
5
+ //
6
+ // var FormData = require("form-data");
7
+
8
+ /**
9
+ * Incoming config:
10
+ *
11
+ * {
12
+ * "url": "",
13
+ * "method": "",
14
+ * "headers": {},
15
+ * "qs": {},
16
+ * "data": "" | {},
17
+ * "json": {}
18
+ * }
19
+ *
20
+ * Callback is (err, response).
21
+ *
22
+ * Where response is the Axios response object.
23
+ *
24
+ * @param config
25
+ * @param callback
26
+ */
27
+ module.exports = function(config, callback)
28
+ {
29
+ // request config - https://github.com/request/request#requestoptions-callback
30
+ // axios config - https://www.npmjs.com/package/axios
31
+
32
+ if (!callback) {
33
+ callback = function(err, response, data) {
34
+ // nothing
35
+ };
36
+ }
37
+
38
+ if (typeof(config) === "string") {
39
+ config = {
40
+ "method": "get",
41
+ "json": true,
42
+ "url": config
43
+ };
44
+ }
45
+
46
+ var requestConfig = {};
47
+ requestConfig.url = config.uri || config.url;
48
+ requestConfig.method = config.method || "get";
49
+ requestConfig.headers = {};
50
+
51
+ if (!config) {
52
+ config = {};
53
+ }
54
+ if (!config.headers) {
55
+ config.headers = {};
56
+ }
57
+ for (var k in config.headers)
58
+ {
59
+ var v = config.headers[k];
60
+ if (v)
61
+ {
62
+ requestConfig.headers[k.trim().toLowerCase()] = v;
63
+ }
64
+ }
65
+ // support for FormData headers
66
+ // copy form data headers
67
+ if (config.data && config.data.getHeaders)
68
+ {
69
+ var formDataHeaders = config.data.getHeaders();
70
+ for (var k in formDataHeaders)
71
+ {
72
+ var v = formDataHeaders[k];
73
+ requestConfig.headers[k] = v;
74
+ }
75
+ }
76
+
77
+ if (config.qs) {
78
+ requestConfig.params = config.qs;
79
+ }
80
+
81
+ if (config.json) {
82
+
83
+ if (typeof(config.json) !== "boolean")
84
+ {
85
+ requestConfig.data = config.json;
86
+ }
87
+
88
+ if (!requestConfig.headers["content-type"]) {
89
+ requestConfig.headers["content-type"] = "application/json";
90
+ }
91
+ }
92
+
93
+ if (config.data)
94
+ {
95
+ requestConfig.data = config.data;
96
+
97
+ if (!requestConfig.headers["content-type"])
98
+ {
99
+ if (!requestConfig.data)
100
+ {
101
+ if (requestConfig.data.getHeaders)
102
+ {
103
+ // assume this is a FormData and skip
104
+ }
105
+ else if (typeof(requestConfig.data) === "object")
106
+ {
107
+ // send as json
108
+ requestConfig.headers["content-type"] = "application/json";
109
+ }
110
+ }
111
+ }
112
+ }
113
+
114
+ if (config.responseType) {
115
+ requestConfig.responseType = config.responseType;
116
+ }
117
+
118
+
119
+ /*
120
+ if (requestConfig.url.toLowerCase().indexOf("https:") > -1)
121
+ {
122
+ requestConfig.httpsAgent = https.globalAgent;
123
+ }
124
+ else
125
+ {
126
+ requestConfig.httpAgent = http.globalAgent;
127
+ }
128
+ */
129
+
130
+ return axios.request(requestConfig).then(function(response) {
131
+ callback(null, response, response.data);
132
+ }, function(error) {
133
+ callback(error);
134
+ });
135
+ };
package/util/util.js CHANGED
@@ -1,7 +1,6 @@
1
1
  var fs = require("fs");
2
2
  var path = require("path");
3
3
  var mkdirp = require('mkdirp');
4
- var request = require("request");
5
4
  var mime = require("mime");
6
5
  var uuidv4 = require("uuid/v4");
7
6
  var os = require("os");
@@ -13,6 +12,8 @@ var klaw = require("klaw");
13
12
  var targz = require('targz');
14
13
  var archiver = require("archiver");
15
14
 
15
+ var request = require("./request");
16
+
16
17
  var http = require("http");
17
18
  var https = require("https");
18
19
 
@@ -681,17 +682,7 @@ var retryGitanaRequest = exports.retryGitanaRequest = function(logMethod, gitana
681
682
  "err": previousError
682
683
  });
683
684
  }
684
-
685
- // make sure agent is applied
686
- if (!config.agent && config.url)
687
- {
688
- var agent = getAgent(config.url);
689
- if (agent)
690
- {
691
- config.agent = agent;
692
- }
693
- }
694
-
685
+
695
686
  // make sure we have a headers object
696
687
  if (!config.headers)
697
688
  {
@@ -709,16 +700,19 @@ var retryGitanaRequest = exports.retryGitanaRequest = function(logMethod, gitana
709
700
  config.headers["Authorization"] = headers2["Authorization"];
710
701
 
711
702
  // make the request
703
+ console.log("C: " + JSON.stringify(config, null, 2));
712
704
  request(config, function(err, response, body) {
713
-
705
+ console.log("E: " + err);
706
+ console.log("B: " + body);
707
+
714
708
  if (response)
715
709
  {
716
710
  // ok case (just callback)
717
- if (response.statusCode === 200)
711
+ if (response.status === 200)
718
712
  {
719
713
  return cb(err, response, body);
720
714
  }
721
- else if (response.statusCode === 429)
715
+ else if (response.status === 429)
722
716
  {
723
717
  // we heard "too many requests", so we wait a bit and then retry
724
718
  // TODO: look at HTTP headers to determine how long to wait?
@@ -726,7 +720,7 @@ var retryGitanaRequest = exports.retryGitanaRequest = function(logMethod, gitana
726
720
  logMethod("Too Many Requests heard, attempting retry (" + (currentAttempts + 1) + " / " + maxAttempts + ")");
727
721
  _retryHandler(gitana, config, currentAttempts, maxAttempts, {
728
722
  "message": "Heard 429 Too Many Requests",
729
- "code": response.statusCode,
723
+ "code": response.status,
730
724
  "body": body,
731
725
  "err": err
732
726
  }, cb);
@@ -762,7 +756,7 @@ var retryGitanaRequest = exports.retryGitanaRequest = function(logMethod, gitana
762
756
  // refresh the access token and then retry
763
757
  return _invalidTokenRetryHandler(gitana, config, currentAttempts, maxAttempts, {
764
758
  "message": "Unable to refresh access token and retry",
765
- "code": response.statusCode,
759
+ "code": response.status,
766
760
  "body": body,
767
761
  "err": err
768
762
  }, cb);
@@ -772,7 +766,7 @@ var retryGitanaRequest = exports.retryGitanaRequest = function(logMethod, gitana
772
766
  cb(err, response, body);
773
767
  });
774
768
  };
775
-
769
+
776
770
  _handler(gitana, config, 0, maxAttempts, null, callback);
777
771
  };
778
772