node-pluginsmanager-plugin 4.8.0 → 4.8.1

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.
@@ -17,15 +17,16 @@
17
17
  // locals
18
18
  const MediatorUser = require(join(__dirname, "MediatorUser.js"));
19
19
  const { checkInteger, checkNonEmptyObject, checkNonEmptyString } = require(join(__dirname, "..", "checkers", "main.js"));
20
- const errToString = require(join(__dirname, "..", "utils", "errToString.js"));
21
20
  const { extractPattern, extractParams, extractSchemaType } = require(join(__dirname, "..", "utils", "descriptor", "main.js"));
22
21
  const { extractBody, extractIp, extractCookies } = require(join(__dirname, "..", "utils", "request", "main.js"));
23
22
  const send = require(join(__dirname, "..", "utils", "send.js"));
24
23
  const getUniqueID = require(join(__dirname, "..", "utils", "getUniqueID.js"));
24
+ const cleanSendedError = require(join(__dirname, "..", "utils", "cleanSendedError.js"));
25
25
 
26
26
  // consts
27
27
 
28
28
  const WEBSOCKET_STATE_OPEN = 1;
29
+ const SERVER_CODES = require(join(__dirname, "..", "utils", "serverCodes.json"));
29
30
 
30
31
  // module
31
32
 
@@ -181,19 +182,17 @@ module.exports = class Server extends MediatorUser {
181
182
  }).then((api) => {
182
183
 
183
184
  this._log("info", "<= [" + req.validatedIp + "] " + JSON.stringify(api));
184
- return send(req, res, 200, api, this._Descriptor.info.version, this._cors);
185
+ return send(req, res, SERVER_CODES.OK, api, this._Descriptor.info.version, this._cors);
185
186
 
186
187
  }).catch((err) => {
187
188
 
188
- this.emit("error", err);
189
-
190
189
  const result = {
191
190
  "code": "INTERNAL_SERVER_ERROR",
192
- "message": errToString(err)
191
+ "message": cleanSendedError(err)
193
192
  };
194
193
 
195
- this._log("error", "<= " + JSON.stringify(result));
196
- return send(req, res, 500, result, this._Descriptor.info.version, this._cors);
194
+ this._log("error", "<= [" + req.validatedIp + "] " + JSON.stringify(result));
195
+ return send(req, res, SERVER_CODES.INTERNAL_SERVER_ERROR, result, this._Descriptor.info.version, this._cors);
197
196
 
198
197
  });
199
198
 
@@ -206,7 +205,7 @@ module.exports = class Server extends MediatorUser {
206
205
  const status = initialized ? "INITIALIZED" : "ENABLED";
207
206
 
208
207
  this._log("info", "<= [" + req.validatedIp + "] " + status);
209
- return send(req, res, 200, status, this._Descriptor.info.version, this._cors);
208
+ return send(req, res, SERVER_CODES.OK, status, this._Descriptor.info.version, this._cors);
210
209
 
211
210
  }
212
211
 
@@ -219,7 +218,7 @@ module.exports = class Server extends MediatorUser {
219
218
  };
220
219
 
221
220
  this._log("error", "<= [" + req.validatedIp + "] " + JSON.stringify(result));
222
- return send(req, res, 501, result, this._Descriptor.info.version, this._cors);
221
+ return send(req, res, SERVER_CODES.NOT_IMPLEMENTED, result, this._Descriptor.info.version, this._cors);
223
222
 
224
223
  }
225
224
 
@@ -232,7 +231,7 @@ module.exports = class Server extends MediatorUser {
232
231
  };
233
232
 
234
233
  this._log("error", "<= [" + req.validatedIp + "] " + JSON.stringify(result));
235
- return send(req, res, 501, result, this._Descriptor.info.version, this._cors);
234
+ return send(req, res, SERVER_CODES.NOT_IMPLEMENTED, result, this._Descriptor.info.version, this._cors);
236
235
 
237
236
  }
238
237
 
@@ -247,7 +246,7 @@ module.exports = class Server extends MediatorUser {
247
246
  };
248
247
 
249
248
  this._log("error", "<= [" + req.validatedIp + "] " + JSON.stringify(result));
250
- return send(req, res, 411, result, this._Descriptor.info.version, this._cors);
249
+ return send(req, res, SERVER_CODES.MISSING_HEADER, result, this._Descriptor.info.version, this._cors);
251
250
 
252
251
  }
253
252
 
@@ -419,12 +418,12 @@ module.exports = class Server extends MediatorUser {
419
418
 
420
419
  if ("undefined" === typeof content || null === content) {
421
420
  this._log("success", "<= [" + req.validatedIp + "] no content");
422
- return send(req, res, 201, undefined, this._Descriptor.info.version, this._cors);
421
+ return send(req, res, SERVER_CODES.OK_PUT, undefined, this._Descriptor.info.version, this._cors);
423
422
  }
424
423
 
425
424
  else {
426
425
  this._log("success", "<= [" + req.validatedIp + "] " + JSON.stringify(content));
427
- return send(req, res, 201, content, this._Descriptor.info.version, this._cors);
426
+ return send(req, res, SERVER_CODES.OK_PUT, content, this._Descriptor.info.version, this._cors);
428
427
  }
429
428
 
430
429
  }
@@ -432,12 +431,12 @@ module.exports = class Server extends MediatorUser {
432
431
  // no content
433
432
  else if ("undefined" === typeof content || null === content) {
434
433
  this._log("warning", "<= [" + req.validatedIp + "] no content");
435
- return send(req, res, 204, undefined, this._Descriptor.info.version, this._cors);
434
+ return send(req, res, SERVER_CODES.OK_NO_CONTENT, undefined, this._Descriptor.info.version, this._cors);
436
435
  }
437
436
 
438
437
  else {
439
438
  this._log("success", "<= [" + req.validatedIp + "] " + JSON.stringify(content));
440
- return send(req, res, 200, content, this._Descriptor.info.version, this._cors);
439
+ return send(req, res, SERVER_CODES.OK, content, this._Descriptor.info.version, this._cors);
441
440
  }
442
441
 
443
442
  }).catch((err) => {
@@ -446,55 +445,55 @@ module.exports = class Server extends MediatorUser {
446
445
 
447
446
  const result = {
448
447
  "code": "MISSING_PARAMETER",
449
- "message": errToString(err)
448
+ "message": cleanSendedError(err)
450
449
  };
451
450
 
452
451
  this._log("error", "<= [" + req.validatedIp + "] " + JSON.stringify(result));
453
- return send(req, res, 400, result, this._Descriptor.info.version, this._cors);
452
+ return send(req, res, SERVER_CODES.MISSING_PARAMETER, result, this._Descriptor.info.version, this._cors);
454
453
 
455
454
  }
456
455
  else if (err instanceof TypeError) {
457
456
 
458
457
  const result = {
459
458
  "code": "WRONG_TYPE_PARAMETER",
460
- "message": errToString(err)
459
+ "message": cleanSendedError(err)
461
460
  };
462
461
 
463
462
  this._log("error", "<= [" + req.validatedIp + "] " + JSON.stringify(result));
464
- return send(req, res, 400, result, this._Descriptor.info.version, this._cors);
463
+ return send(req, res, SERVER_CODES.WRONG_TYPE_PARAMETER, result, this._Descriptor.info.version, this._cors);
465
464
 
466
465
  }
467
466
  else if (err instanceof RangeError) {
468
467
 
469
468
  const result = {
470
469
  "code": "EMPTY_OR_RANGE_OR_ENUM_PARAMETER",
471
- "message": errToString(err)
470
+ "message": cleanSendedError(err)
472
471
  };
473
472
 
474
473
  this._log("error", "<= [" + req.validatedIp + "] " + JSON.stringify(result));
475
- return send(req, res, 400, result, this._Descriptor.info.version, this._cors);
474
+ return send(req, res, SERVER_CODES.EMPTY_OR_RANGE_OR_ENUM_PARAMETER, result, this._Descriptor.info.version, this._cors);
476
475
 
477
476
  }
478
477
  else if (err instanceof SyntaxError) {
479
478
 
480
479
  const result = {
481
480
  "code": "JSON_PARSE",
482
- "message": errToString(err)
481
+ "message": cleanSendedError(err)
483
482
  };
484
483
 
485
484
  this._log("error", "<= [" + req.validatedIp + "] " + JSON.stringify(result));
486
- return send(req, res, 400, result, this._Descriptor.info.version, this._cors);
485
+ return send(req, res, SERVER_CODES.JSON_PARSE, result, this._Descriptor.info.version, this._cors);
487
486
 
488
487
  }
489
488
  else {
490
489
 
491
490
  const result = {
492
491
  "code": "INTERNAL_SERVER_ERROR",
493
- "message": errToString(err)
492
+ "message": cleanSendedError(err)
494
493
  };
495
494
 
496
495
  this._log("error", "<= [" + req.validatedIp + "] " + JSON.stringify(result));
497
- return send(req, res, 500, result, this._Descriptor.info.version, this._cors);
496
+ return send(req, res, SERVER_CODES.INTERNAL_SERVER_ERROR, result, this._Descriptor.info.version, this._cors);
498
497
 
499
498
  }
500
499
 
@@ -582,7 +581,7 @@ module.exports = class Server extends MediatorUser {
582
581
  };
583
582
 
584
583
  if ("undefined" !== typeof data) {
585
- result.data = data;
584
+ result.data = cleanSendedError(data);
586
585
  }
587
586
 
588
587
  return Promise.resolve(JSON.stringify(result));
@@ -623,7 +622,7 @@ module.exports = class Server extends MediatorUser {
623
622
  }
624
623
 
625
624
  }).catch((err) => {
626
- this.emit("error", err);
625
+ this._log("error", err);
627
626
  });
628
627
 
629
628
  return this;
@@ -647,7 +646,7 @@ module.exports = class Server extends MediatorUser {
647
646
  };
648
647
 
649
648
  if ("undefined" !== typeof data) {
650
- result.data = data;
649
+ result.data = cleanSendedError(data);
651
650
  }
652
651
 
653
652
  return Promise.resolve(JSON.stringify(result));
@@ -704,7 +703,7 @@ module.exports = class Server extends MediatorUser {
704
703
 
705
704
  }
706
705
  }).catch((err) => {
707
- this.emit("error", err);
706
+ this._log("error", err);
708
707
  });
709
708
 
710
709
  return this;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ // module
4
+
5
+ module.exports = function cleanSendedError (data) {
6
+
7
+ if ("object" === typeof data) {
8
+
9
+ if (data instanceof Error) {
10
+ return data.message ? data.message : data;
11
+ }
12
+ else if (data.message && data.message instanceof Error) {
13
+
14
+ data.message = data.message.message ? data.message.message : data.message;
15
+
16
+ return data;
17
+
18
+ }
19
+ else if (data.error) { // 1 level recursive for "error" data (avoid too deep recursive analyse)
20
+
21
+ if (data.error instanceof Error) {
22
+ data.error = data.error.message ? data.error.message : data.error;
23
+ }
24
+ else if (data.error.message && data.error.message instanceof Error) {
25
+ data.error.message = data.error.message.message ? data.error.message.message : data.error.message;
26
+ }
27
+
28
+ return data;
29
+
30
+ }
31
+ else if (data.err && data.err instanceof Error) { // 1 level recursive for "err" data (avoid too deep recursive analyse)
32
+
33
+ data.err = data.err.message ? data.err.message : data.err;
34
+
35
+ return data;
36
+
37
+ }
38
+ else {
39
+ return data;
40
+ }
41
+
42
+ }
43
+ else {
44
+ return data;
45
+ }
46
+
47
+ };
@@ -0,0 +1,16 @@
1
+ {
2
+
3
+ "OK": 200,
4
+ "OK_PUT": 201,
5
+ "OK_NO_CONTENT": 204,
6
+
7
+ "MISSING_PARAMETER": 400,
8
+ "WRONG_TYPE_PARAMETER": 400,
9
+ "EMPTY_OR_RANGE_OR_ENUM_PARAMETER": 400,
10
+ "JSON_PARSE": 400,
11
+ "MISSING_HEADER": 411,
12
+
13
+ "INTERNAL_SERVER_ERROR": 500,
14
+ "NOT_IMPLEMENTED": 501
15
+
16
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-pluginsmanager-plugin",
3
- "version": "4.8.0",
3
+ "version": "4.8.1",
4
4
  "description": "An abstract parent plugin for node-pluginsmanager",
5
5
  "main": "lib/main.js",
6
6
  "typings": "lib/index.d.ts",
@@ -39,13 +39,13 @@
39
39
  "express-openapi-validate": "0.6.1"
40
40
  },
41
41
  "devDependencies": {
42
- "@types/node": "17.0.23",
42
+ "@types/node": "17.0.25",
43
43
  "@types/socket.io": "3.0.2",
44
44
  "@types/ws": "8.5.3",
45
45
  "check-version-modules": "1.3.5",
46
46
  "coveralls": "3.1.1",
47
47
  "colors": "1.4.0",
48
- "eslint": "8.12.0",
48
+ "eslint": "8.13.0",
49
49
  "express": "4.17.3",
50
50
  "husky": "7.0.4",
51
51
  "mocha": "9.2.2",