soajs.controller 4.2.34 → 4.2.36
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/mw/gotoService/index.js +1 -1
- package/mw/mt/index.js +4 -1
- package/mw/url/index.js +16 -4
- package/package.json +1 -1
- package/server/controller.js +3 -1
- package/test/unit/utilities/utils.js +11 -8
- package/utilities/utils.js +6 -4
package/mw/gotoService/index.js
CHANGED
|
@@ -82,7 +82,7 @@ module.exports = (configuration) => {
|
|
|
82
82
|
req.soajs.registry.services[service_n]) {
|
|
83
83
|
req.soajs.log.debug(req.soajs.registry.services[service_n]);
|
|
84
84
|
}
|
|
85
|
-
req.soajs.log.
|
|
85
|
+
req.soajs.log.warn(JSON.stringify({ "url": req.url, "headers": req.headers }));
|
|
86
86
|
return req.soajs.controllerResponse(core.error.getError(130));
|
|
87
87
|
}
|
|
88
88
|
|
package/mw/mt/index.js
CHANGED
|
@@ -40,7 +40,10 @@ module.exports = (configuration) => {
|
|
|
40
40
|
|
|
41
41
|
let serviceParam = {};
|
|
42
42
|
if (!proxy) {
|
|
43
|
-
let serviceInfo =
|
|
43
|
+
let serviceInfo = null;
|
|
44
|
+
if (req.soajs.controller.serviceParams.registry.versions) {
|
|
45
|
+
serviceInfo = req.soajs.controller.serviceParams.registry.versions[req.soajs.controller.serviceParams.version];
|
|
46
|
+
}
|
|
44
47
|
if (!serviceInfo) {
|
|
45
48
|
req.soajs.log.error("Problem accessing service [" + req.soajs.controller.serviceParams.name + "], API [" + req.soajs.controller.serviceParams.path + "] & version [" + req.soajs.controller.serviceParams.version + "]");
|
|
46
49
|
return next(133);
|
package/mw/url/index.js
CHANGED
|
@@ -20,21 +20,21 @@ let libParseURL = require('../../lib/parseURL');
|
|
|
20
20
|
*/
|
|
21
21
|
module.exports = (configuration) => {
|
|
22
22
|
let core = configuration.core;
|
|
23
|
-
|
|
23
|
+
|
|
24
24
|
return (req, res, next) => {
|
|
25
25
|
if (!req.soajs) {
|
|
26
26
|
throw new TypeError('soajs mw is not started');
|
|
27
27
|
}
|
|
28
|
-
|
|
28
|
+
|
|
29
29
|
if (!req.soajs.controller) {
|
|
30
30
|
req.soajs.controller = {};
|
|
31
31
|
}
|
|
32
|
-
|
|
32
|
+
|
|
33
33
|
let parsedUrl = url.parse(req.url, true);
|
|
34
34
|
if (!req.query && parsedUrl.query) {
|
|
35
35
|
req.query = parsedUrl.query;
|
|
36
36
|
}
|
|
37
|
-
|
|
37
|
+
|
|
38
38
|
if (!req.query) {
|
|
39
39
|
req.query = {};
|
|
40
40
|
}
|
|
@@ -42,6 +42,18 @@ module.exports = (configuration) => {
|
|
|
42
42
|
if (!req.soajs.controller.serviceParams.service_n || req.soajs.controller.serviceParams.service_n === '') {
|
|
43
43
|
return req.soajs.controllerResponse(core.error.getError(136));
|
|
44
44
|
}
|
|
45
|
+
if (
|
|
46
|
+
req.soajs.controller.serviceParams.service_n !== "soajs" &&
|
|
47
|
+
(
|
|
48
|
+
!req.soajs.registry ||
|
|
49
|
+
!req.soajs.registry.services ||
|
|
50
|
+
!req.soajs.registry.services[req.soajs.controller.serviceParams.service_n]
|
|
51
|
+
)) {
|
|
52
|
+
req.soajs.log.fatal("Service [" + req.soajs.controller.serviceParams.service_n + "] URL [" + req.url + "] couldn't be matched to a service or the service entry in registry is missing [port || hosts]");
|
|
53
|
+
req.soajs.log.warn(JSON.stringify({ "url": req.url, "headers": req.headers }));
|
|
54
|
+
return req.soajs.controllerResponse(core.error.getError(130));
|
|
55
|
+
}
|
|
56
|
+
|
|
45
57
|
let key = req.headers.key || req.query.key;
|
|
46
58
|
if (!req.headers.key) {
|
|
47
59
|
req.headers.key = key;
|
package/package.json
CHANGED
package/server/controller.js
CHANGED
|
@@ -94,6 +94,8 @@ Controller.prototype.init = function (callback) {
|
|
|
94
94
|
app.use(ip2ban_mw());
|
|
95
95
|
app.use(maintenanceMode_mw()); //NOTE: this is for global maintenance mode
|
|
96
96
|
|
|
97
|
+
app.use(url_mw({ "core": core }));
|
|
98
|
+
|
|
97
99
|
log.info("Loading Provision ...");
|
|
98
100
|
let dbConfig = registry.coreDB.provision;
|
|
99
101
|
if (registry.coreDB.oauth) {
|
|
@@ -135,7 +137,7 @@ Controller.prototype.init = function (callback) {
|
|
|
135
137
|
|
|
136
138
|
// app.use(enhancer_mw());
|
|
137
139
|
|
|
138
|
-
app.use(url_mw({ "core": core }));
|
|
140
|
+
// app.use(url_mw({ "core": core }));
|
|
139
141
|
|
|
140
142
|
app.use(key_mw({ "provision": provision, "regEnvironment": regEnvironment }));
|
|
141
143
|
|
|
@@ -4,7 +4,7 @@ const helper = require("../../helper.js");
|
|
|
4
4
|
let utils = helper.requireModule('./utilities/utils.js');
|
|
5
5
|
|
|
6
6
|
describe("Testing utilities", () => {
|
|
7
|
-
|
|
7
|
+
|
|
8
8
|
let res = {
|
|
9
9
|
status: () => {
|
|
10
10
|
return {
|
|
@@ -17,12 +17,15 @@ describe("Testing utilities", () => {
|
|
|
17
17
|
return 2;
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
|
-
|
|
20
|
+
|
|
21
21
|
let req = {
|
|
22
22
|
soajs: {
|
|
23
23
|
log: {
|
|
24
24
|
error: (input) => {
|
|
25
25
|
// console.error(input);
|
|
26
|
+
},
|
|
27
|
+
warn: (input) => {
|
|
28
|
+
// console.error(input);
|
|
26
29
|
}
|
|
27
30
|
},
|
|
28
31
|
buildResponse: (input) => {
|
|
@@ -33,25 +36,25 @@ describe("Testing utilities", () => {
|
|
|
33
36
|
}
|
|
34
37
|
}
|
|
35
38
|
};
|
|
36
|
-
|
|
39
|
+
|
|
37
40
|
it("logErrors - number error", (done) => {
|
|
38
41
|
utils.logErrors(123, req, res, (error) => {
|
|
39
42
|
done();
|
|
40
43
|
});
|
|
41
44
|
});
|
|
42
|
-
|
|
45
|
+
|
|
43
46
|
it("logErrors - object, no code no message", (done) => {
|
|
44
47
|
utils.logErrors({}, req, res, (error) => {
|
|
45
48
|
done();
|
|
46
49
|
});
|
|
47
50
|
});
|
|
48
|
-
|
|
51
|
+
|
|
49
52
|
it("logErrors - string error", (done) => {
|
|
50
53
|
utils.logErrors("error", req, res, (error) => {
|
|
51
54
|
done();
|
|
52
55
|
});
|
|
53
56
|
});
|
|
54
|
-
|
|
57
|
+
|
|
55
58
|
it("controllerClientErrorHandler - request without xhr", (done) => {
|
|
56
59
|
utils.controllerClientErrorHandler(null, req, res, () => {
|
|
57
60
|
done();
|
|
@@ -63,14 +66,14 @@ describe("Testing utilities", () => {
|
|
|
63
66
|
done();
|
|
64
67
|
});
|
|
65
68
|
});
|
|
66
|
-
|
|
69
|
+
|
|
67
70
|
it("controllerErrorHandler - number error", (done) => {
|
|
68
71
|
req.xhr = {};
|
|
69
72
|
utils.controllerErrorHandler(150, req, res, null);
|
|
70
73
|
done();
|
|
71
74
|
});
|
|
72
75
|
it("controllerErrorHandler - with error", (done) => {
|
|
73
|
-
utils.controllerErrorHandler({"code": 200, "msg": "dummy200"}, req, res, null);
|
|
76
|
+
utils.controllerErrorHandler({ "code": 200, "msg": "dummy200" }, req, res, null);
|
|
74
77
|
done();
|
|
75
78
|
});
|
|
76
79
|
});
|
package/utilities/utils.js
CHANGED
|
@@ -28,9 +28,9 @@ function logErrors(err, req, res, next) {
|
|
|
28
28
|
if (err.code && err.message) {
|
|
29
29
|
req.soajs.log.error(err.message);
|
|
30
30
|
if (err.name === "OAuth2Error") {
|
|
31
|
-
|
|
31
|
+
return next({ "code": err.code, "status": err.code, "msg": err.message });
|
|
32
32
|
} else {
|
|
33
|
-
|
|
33
|
+
return next({ "code": err.code, "msg": err.message });
|
|
34
34
|
}
|
|
35
35
|
} else if (err.code && err.msg) {
|
|
36
36
|
err.message = err.msg;
|
|
@@ -38,7 +38,6 @@ function logErrors(err, req, res, next) {
|
|
|
38
38
|
return next(err);
|
|
39
39
|
} else {
|
|
40
40
|
req.soajs.log.error(err.message || err);
|
|
41
|
-
req.soajs.log.error(req.url);
|
|
42
41
|
req.soajs.log.error(core.error.generate(164).message);
|
|
43
42
|
}
|
|
44
43
|
} else {
|
|
@@ -63,7 +62,7 @@ function controllerClientErrorHandler(err, req, res, next) {
|
|
|
63
62
|
req.soajs.log.error(core.error.generate(150));
|
|
64
63
|
let errObj = core.error.getError(150);
|
|
65
64
|
errObj.status = 500;
|
|
66
|
-
return next
|
|
65
|
+
return next(errObj);
|
|
67
66
|
} else {
|
|
68
67
|
return next(err);
|
|
69
68
|
}
|
|
@@ -77,6 +76,9 @@ function controllerClientErrorHandler(err, req, res, next) {
|
|
|
77
76
|
* @param next
|
|
78
77
|
*/
|
|
79
78
|
function controllerErrorHandler(err, req, res, next) {
|
|
79
|
+
|
|
80
|
+
req.soajs.log.warn(JSON.stringify({ "url": req.url, "headers": req.headers }));
|
|
81
|
+
|
|
80
82
|
if (err.code && err.msg) {
|
|
81
83
|
err.status = err.status || 500;
|
|
82
84
|
req.soajs.controllerResponse(err, next);
|