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.
- package/lib/components/Server.js +28 -29
- package/lib/utils/cleanSendedError.js +47 -0
- package/lib/utils/serverCodes.json +16 -0
- package/package.json +3 -3
package/lib/components/Server.js
CHANGED
|
@@ -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,
|
|
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":
|
|
191
|
+
"message": cleanSendedError(err)
|
|
193
192
|
};
|
|
194
193
|
|
|
195
|
-
this._log("error", "<= " + JSON.stringify(result));
|
|
196
|
-
return send(req, res,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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":
|
|
448
|
+
"message": cleanSendedError(err)
|
|
450
449
|
};
|
|
451
450
|
|
|
452
451
|
this._log("error", "<= [" + req.validatedIp + "] " + JSON.stringify(result));
|
|
453
|
-
return send(req, res,
|
|
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":
|
|
459
|
+
"message": cleanSendedError(err)
|
|
461
460
|
};
|
|
462
461
|
|
|
463
462
|
this._log("error", "<= [" + req.validatedIp + "] " + JSON.stringify(result));
|
|
464
|
-
return send(req, res,
|
|
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":
|
|
470
|
+
"message": cleanSendedError(err)
|
|
472
471
|
};
|
|
473
472
|
|
|
474
473
|
this._log("error", "<= [" + req.validatedIp + "] " + JSON.stringify(result));
|
|
475
|
-
return send(req, res,
|
|
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":
|
|
481
|
+
"message": cleanSendedError(err)
|
|
483
482
|
};
|
|
484
483
|
|
|
485
484
|
this._log("error", "<= [" + req.validatedIp + "] " + JSON.stringify(result));
|
|
486
|
-
return send(req, res,
|
|
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":
|
|
492
|
+
"message": cleanSendedError(err)
|
|
494
493
|
};
|
|
495
494
|
|
|
496
495
|
this._log("error", "<= [" + req.validatedIp + "] " + JSON.stringify(result));
|
|
497
|
-
return send(req, res,
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
48
|
+
"eslint": "8.13.0",
|
|
49
49
|
"express": "4.17.3",
|
|
50
50
|
"husky": "7.0.4",
|
|
51
51
|
"mocha": "9.2.2",
|