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.
@@ -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.debug(req.headers);
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 = req.soajs.controller.serviceParams.registry.versions[req.soajs.controller.serviceParams.version];
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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "soajs.controller",
3
3
  "description": "soajs multi tenant API gateway",
4
- "version": "4.2.34",
4
+ "version": "4.2.36",
5
5
  "author": {
6
6
  "name": "soajs team",
7
7
  "email": "team@soajs.org"
@@ -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
  });
@@ -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
- return next({"code": err.code, "status": err.code, "msg": err.message});
31
+ return next({ "code": err.code, "status": err.code, "msg": err.message });
32
32
  } else {
33
- return next({"code": err.code, "msg": err.message});
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 (errObj);
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);