@creator.co/wapi 1.5.5 → 1.5.7
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/dist/package.json +1 -1
- package/dist/src/API/Request.js +11 -9
- package/dist/src/API/Request.js.map +1 -1
- package/dist/src/Logger/Logger.d.ts +4 -3
- package/dist/src/Logger/Logger.js +64 -42
- package/dist/src/Logger/Logger.js.map +1 -1
- package/dist/src/Server/lib/container/GenericHandlerEvent.js +1 -0
- package/dist/src/Server/lib/container/GenericHandlerEvent.js.map +1 -1
- package/dist/src/Server/lib/container/Proxy.js +5 -1
- package/dist/src/Server/lib/container/Proxy.js.map +1 -1
- package/package.json +1 -1
- package/src/API/Request.ts +12 -7
- package/src/Logger/Logger.ts +61 -38
- package/src/Server/lib/container/GenericHandlerEvent.ts +6 -1
- package/src/Server/lib/container/Proxy.ts +7 -1
- package/tests/Logger/Logger.test.ts +0 -1
- package/tests/Server/lib/ContainerServer.test.ts +47 -0
package/dist/package.json
CHANGED
package/dist/src/API/Request.js
CHANGED
|
@@ -78,16 +78,18 @@ var Request = /** @class */ (function () {
|
|
|
78
78
|
* @returns {InputType} The parsed body of the request event.
|
|
79
79
|
*/
|
|
80
80
|
Request.prototype.getBody = function (raw) {
|
|
81
|
-
var
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
81
|
+
var body = this.requestEvent.body;
|
|
82
|
+
if (raw)
|
|
83
|
+
return Utils_1.default.isHybridlessContainer() ? this.requestEvent['rawBody'] : body;
|
|
84
|
+
if (typeof body === 'string' || body instanceof String) {
|
|
85
|
+
try {
|
|
86
|
+
return JSON.parse(body);
|
|
87
|
+
}
|
|
88
|
+
catch (e) {
|
|
89
|
+
console.error('Error while getting request body!', e);
|
|
90
|
+
}
|
|
89
91
|
}
|
|
90
|
-
return
|
|
92
|
+
return body;
|
|
91
93
|
};
|
|
92
94
|
/**
|
|
93
95
|
* Retrieves the path from the request event.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Request.js","sourceRoot":"","sources":["../../../src/API/Request.ts"],"names":[],"mappings":";;;AAGA,uCAAiC;AAEjC;;;;;;GAMG;AACH;IAWE;;;;;;OAMG;IACH,iBAAY,YAA6B,EAAE,OAAgB,EAAE,MAAc;QACzE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,YAAY,CAAC,CAAA;QAC3C,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;IAED;;;;OAIG;IACI,oCAAkB,GAAzB,UAA0B,SAAgC;QACxD,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QACzC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,eAAK,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,eAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;IACxE,CAAC;IAED;;;;OAIG;IACI,+BAAa,GAApB,UAAqB,SAAgC;QACnD,OAAO,eAAK,CAAC,2BAA2B,CACtC,IAAI,CAAC,YAAY,CAAC,qBAAqB,EACvC,MAAM,CAAC,SAAS,CAAC,CAClB,CAAA;IACH,CAAC;IAED;;;;OAIG;IACI,2BAAS,GAAhB,UAAiB,UAAkB;QACjC,OAAO,eAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IACjF,CAAC;IAED;;;;OAIG;IACI,iCAAe,GAAtB,UAAuB,QAAgB;QACrC,OAAO,eAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;IACtF,CAAC;IAED;;;;OAIG;IACI,mCAAiB,GAAxB,UAAyB,SAA+B;QACtD,IAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QACxC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,eAAK,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,eAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;IACxE,CAAC;IAED;;;;OAIG;IACI,8BAAY,GAAnB,UAAoB,SAA+B;QACjD,OAAO,eAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;IAC/F,CAAC;IAED;;;OAGG;IACI,yBAAO,GAAd,UAAe,GAAa;QAC1B,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"Request.js","sourceRoot":"","sources":["../../../src/API/Request.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,12 +16,10 @@ export declare enum LOG_LEVELS {
|
|
|
16
16
|
* Configuration options for the logger.
|
|
17
17
|
* @typedef {Object} LoggerConfig
|
|
18
18
|
* @property {boolean | Array<string>} [sensitiveFilteringKeywords] - Specifies whether to filter sensitive keywords in log messages. Can be a boolean value or an array of strings.
|
|
19
|
-
* @property {number} [sensitiveMaxKeys] - Maximum number of keys from an object that sensitive filtering will be applied to. Default value is 10; Increases here should be together with max size at node VM
|
|
20
19
|
* @property {LOG_LEVELS | string} [logLevel] - The log level to use for logging. Can be one of the predefined log levels or a custom string value.
|
|
21
20
|
*/
|
|
22
21
|
export type LoggerConfig = {
|
|
23
22
|
sensitiveFilteringKeywords?: boolean | Array<string>;
|
|
24
|
-
sensitiveMaxKeys?: number;
|
|
25
23
|
logLevel?: LOG_LEVELS | string;
|
|
26
24
|
};
|
|
27
25
|
/**
|
|
@@ -39,7 +37,7 @@ export default class Logger {
|
|
|
39
37
|
*/
|
|
40
38
|
private transactionID;
|
|
41
39
|
/**
|
|
42
|
-
* An array of strings representing a blacklist of filters
|
|
40
|
+
* An array of strings representing a blacklist of filters
|
|
43
41
|
*/
|
|
44
42
|
private filterBlacklist;
|
|
45
43
|
/**
|
|
@@ -156,4 +154,7 @@ export default class Logger {
|
|
|
156
154
|
* @returns {string} - The value with sensitive information suppressed.
|
|
157
155
|
*/
|
|
158
156
|
private suppressSensitiveInfo;
|
|
157
|
+
private suppressSensitiveInfoItem;
|
|
158
|
+
private suppressSensitiveString;
|
|
159
|
+
private suppressSensitiveObject;
|
|
159
160
|
}
|
|
@@ -10,6 +10,22 @@ var __values = (this && this.__values) || function(o) {
|
|
|
10
10
|
};
|
|
11
11
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
12
12
|
};
|
|
13
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
14
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
15
|
+
if (!m) return o;
|
|
16
|
+
var i = m.call(o), r, ar = [], e;
|
|
17
|
+
try {
|
|
18
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
19
|
+
}
|
|
20
|
+
catch (error) { e = { error: error }; }
|
|
21
|
+
finally {
|
|
22
|
+
try {
|
|
23
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
24
|
+
}
|
|
25
|
+
finally { if (e) throw e.error; }
|
|
26
|
+
}
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
13
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
30
|
exports.LOG_LEVELS = void 0;
|
|
15
31
|
var abind = require("abind");
|
|
@@ -74,7 +90,7 @@ var Logger = /** @class */ (function () {
|
|
|
74
90
|
? Array.isArray(this.config.sensitiveFilteringKeywords)
|
|
75
91
|
? this.config.sensitiveFilteringKeywords
|
|
76
92
|
: blacklist
|
|
77
|
-
:
|
|
93
|
+
: [];
|
|
78
94
|
//
|
|
79
95
|
this.setupBindings();
|
|
80
96
|
//
|
|
@@ -348,53 +364,59 @@ var Logger = /** @class */ (function () {
|
|
|
348
364
|
* @returns {string} - The value with sensitive information suppressed.
|
|
349
365
|
*/
|
|
350
366
|
Logger.prototype.suppressSensitiveInfo = function (value) {
|
|
351
|
-
|
|
352
|
-
var _a;
|
|
353
|
-
//really false
|
|
354
|
-
if (!this.filterBlacklist || !this.filterBlacklist[0])
|
|
367
|
+
if (!value || !this.filterBlacklist.length)
|
|
355
368
|
return value;
|
|
356
|
-
|
|
369
|
+
var parent = [value];
|
|
370
|
+
var stack = [{ value: value, parent: parent, key: 0 }];
|
|
371
|
+
while (stack.length > 0) {
|
|
372
|
+
this.suppressSensitiveInfoItem(stack.pop(), stack.push.bind(stack));
|
|
373
|
+
}
|
|
374
|
+
return parent[0];
|
|
375
|
+
};
|
|
376
|
+
Logger.prototype.suppressSensitiveInfoItem = function (_a, push) {
|
|
377
|
+
var value = _a.value, parent = _a.parent, key = _a.key;
|
|
357
378
|
if (!value)
|
|
358
|
-
return
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
// Try to parse json string
|
|
362
|
-
try {
|
|
363
|
-
return this.suppressSensitiveInfo(JSON.parse(value));
|
|
364
|
-
}
|
|
365
|
-
catch (_b) {
|
|
366
|
-
/* No handling */
|
|
367
|
-
}
|
|
368
|
-
//content based replacement
|
|
369
|
-
this.filterBlacklist.forEach(function (f) {
|
|
370
|
-
var _a;
|
|
371
|
-
var match = value.toLowerCase().includes(f);
|
|
372
|
-
if (match)
|
|
373
|
-
value = "**SUPPRESSED_SENSITIVE_DATA** (".concat(((_a = String(value)) === null || _a === void 0 ? void 0 : _a.length) || 0, " len)");
|
|
374
|
-
});
|
|
375
|
-
return value;
|
|
379
|
+
return;
|
|
380
|
+
if (typeof value === 'string') {
|
|
381
|
+
this.suppressSensitiveString({ value: value, parent: parent, key: key }, push);
|
|
376
382
|
}
|
|
377
383
|
else if (Array.isArray(value)) {
|
|
378
|
-
|
|
384
|
+
value.forEach(function (v, index) { return push({ value: v, parent: value, key: index }); });
|
|
379
385
|
}
|
|
380
|
-
else if (typeof value
|
|
381
|
-
|
|
382
|
-
if (Object.keys(value).length >= (((_a = this.config) === null || _a === void 0 ? void 0 : _a.sensitiveMaxKeys) || 10))
|
|
383
|
-
return value;
|
|
384
|
-
// key based replacement
|
|
385
|
-
Object.keys(value).forEach(function (elt) {
|
|
386
|
-
var _a;
|
|
387
|
-
// do not match sensitive keys with null vals
|
|
388
|
-
var match = value[elt] && _this.filterBlacklist.find(function (f) { return elt.toLowerCase().includes(f); });
|
|
389
|
-
if (match) {
|
|
390
|
-
value[elt] = "**SUPPRESSED_SENSITIVE_DATA** (".concat(((_a = String(value[elt])) === null || _a === void 0 ? void 0 : _a.length) || 0, " len)");
|
|
391
|
-
}
|
|
392
|
-
else
|
|
393
|
-
value[elt] = _this.suppressSensitiveInfo(value[elt]);
|
|
394
|
-
});
|
|
395
|
-
return value;
|
|
386
|
+
else if (typeof value === 'object') {
|
|
387
|
+
this.suppressSensitiveObject(value, push);
|
|
396
388
|
}
|
|
397
|
-
|
|
389
|
+
};
|
|
390
|
+
Logger.prototype.suppressSensitiveString = function (_a, push) {
|
|
391
|
+
var _b;
|
|
392
|
+
var value = _a.value, parent = _a.parent, key = _a.key;
|
|
393
|
+
var modifiedValue = value;
|
|
394
|
+
try {
|
|
395
|
+
// Try to parse json string
|
|
396
|
+
modifiedValue = JSON.parse(value);
|
|
397
|
+
push({ value: modifiedValue, parent: parent, key: key });
|
|
398
|
+
}
|
|
399
|
+
catch (_c) {
|
|
400
|
+
var lower_1 = value.toLowerCase();
|
|
401
|
+
if (this.filterBlacklist.some(function (f) { return lower_1.includes(f); }))
|
|
402
|
+
modifiedValue = "**SUPPRESSED_SENSITIVE_DATA** (".concat(((_b = String(modifiedValue)) === null || _b === void 0 ? void 0 : _b.length) || 0, " len)");
|
|
403
|
+
}
|
|
404
|
+
parent[key] = modifiedValue;
|
|
405
|
+
};
|
|
406
|
+
Logger.prototype.suppressSensitiveObject = function (value, push) {
|
|
407
|
+
var _this = this;
|
|
408
|
+
Object.entries(value).forEach(function (_a) {
|
|
409
|
+
var _b;
|
|
410
|
+
var _c = __read(_a, 2), k = _c[0], v = _c[1];
|
|
411
|
+
var lower = k.toLowerCase();
|
|
412
|
+
var match = v && _this.filterBlacklist.some(function (f) { return lower.includes(f); });
|
|
413
|
+
if (match) {
|
|
414
|
+
value[k] = "**SUPPRESSED_SENSITIVE_DATA** (".concat(((_b = String(v)) === null || _b === void 0 ? void 0 : _b.length) || 0, " len)");
|
|
415
|
+
}
|
|
416
|
+
else {
|
|
417
|
+
push({ value: v, parent: value, key: k });
|
|
418
|
+
}
|
|
419
|
+
});
|
|
398
420
|
};
|
|
399
421
|
return Logger;
|
|
400
422
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../../src/Logger/Logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../../src/Logger/Logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,6 +97,7 @@ var GenericHandlerEvent = /** @class */ (function () {
|
|
|
97
97
|
var _a, _b, _c, _d;
|
|
98
98
|
return {
|
|
99
99
|
body: this.request.body || null, //enforce key
|
|
100
|
+
rawBody: this.request['rawBody'],
|
|
100
101
|
headers: (this.request.headers || {}),
|
|
101
102
|
httpMethod: (_a = this.request.method) === null || _a === void 0 ? void 0 : _a.toUpperCase(),
|
|
102
103
|
isBase64Encoded: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericHandlerEvent.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/GenericHandlerEvent.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2BAA4B;AAG5B,iCAA0F;AAC1F,4CAAsC;
|
|
1
|
+
{"version":3,"file":"GenericHandlerEvent.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/GenericHandlerEvent.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,7 +60,11 @@ var Proxy = /** @class */ (function () {
|
|
|
60
60
|
this.serverlessHandler = serverlessHandler;
|
|
61
61
|
this.app = express();
|
|
62
62
|
/* Opinionated Express configs */
|
|
63
|
-
this.app.use(express.json(
|
|
63
|
+
this.app.use(express.json({
|
|
64
|
+
verify: function (req, res, buf) {
|
|
65
|
+
req['rawBody'] = buf;
|
|
66
|
+
},
|
|
67
|
+
}));
|
|
64
68
|
// apply cors config
|
|
65
69
|
var corsConfig = this.config.cors || Utils_1.default.parseObjectNullIfEmpty(process.env.CORS);
|
|
66
70
|
this.app.use(cors(corsConfig
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Proxy.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/Proxy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAAyD;AAEzD,2BAA4B;AAC5B,iCAAkC;AAGlC,mDAA6C;AAC7C,iDAA2C;AAC3C,yDAAgE;AAChE,4CAAsC;AACtC,6CAAuC;AAGvC;;GAEG;AACH;IA4BE;;;;;OAKG;IACH,eAAY,MAAoB,EAAE,iBAAkD;QAClF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAC1C,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,CAAA;QACpB,iCAAiC;QACjC,IAAI,CAAC,GAAG,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"Proxy.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/Proxy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAAyD;AAEzD,2BAA4B;AAC5B,iCAAkC;AAGlC,mDAA6C;AAC7C,iDAA2C;AAC3C,yDAAgE;AAChE,4CAAsC;AACtC,6CAAuC;AAGvC;;GAEG;AACH;IA4BE;;;;;OAKG;IACH,eAAY,MAAoB,EAAE,iBAAkD;QAClF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAC1C,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,CAAA;QACpB,iCAAiC;QACjC,IAAI,CAAC,GAAG,CAAC,GAAG,CACV,OAAO,CAAC,IAAI,CAAC;YACX,MAAM,YAAC,GAAG,EAAE,GAAG,EAAE,GAAG;gBAClB,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAA;YACtB,CAAC;SACF,CAAC,CACH,CAAA;QACD,oBAAoB;QACpB,IAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,eAAK,CAAC,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACrF,IAAI,CAAC,GAAG,CAAC,GAAG,CACV,IAAI,CACF,UAAU;YACR,CAAC,CAAC;gBACE,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,cAAc,EAAE,UAAU,CAAC,OAAO;gBAClC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,gBAAgB;aAC3C;YACH,CAAC,CAAC,EAAE,CACP,CACF,CAAA;QAED,6EAA6E;QAC7E,iFAAiF;QACjF,gFAAgF;QAChF,mFAAmF;QACnF,mBAAmB;QACnB,kDAAkD;QAClD,gDAAgD;IAClD,CAAC;IAED;;;OAGG;IACG,oBAAI,GAAV;;;;4BACE,qBAAM,IAAI,CAAC,cAAc,EAAE,EAAA;;wBAA3B,SAA2B,CAAA;wBAC3B,IAAI,CAAC,aAAa,EAAE,CAAA;;;;;KACrB;IAED;;;;OAIG;IACG,sBAAM,GAAZ,UAAa,GAAS;;;;4BACpB,qBAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAA;;wBAA7B,SAA6B,CAAA;;;;;KAC9B;IAED;;;OAGG;IACW,8BAAc,GAA5B;;;;gBACE,qDAAqD;gBACrD,sBAAO,IAAI,OAAO,CAAC,UAAM,OAAO;;;;;oCACxB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,iBAAO,CAAC,yBAAyB,CAAA;oCAClE,OAAO,CAAC,GAAG,CAAC,mCAA4B,sBAAU,iBAAO,IAAI,CAAE,CAAC,CAAA;oCAChE,gBAAgB;oCAChB,IAAI,CAAC,QAAQ,GAAG,IAAA,mBAAY,EAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oCACtC,eAAe;oCACf,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,iBAAO,CAAC,4BAA4B,CAAC,CAAA;yCAEjF,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAA9B,wBAA8B;oCAChC,qBAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC;wCAC/D,eAAe;sCADgD;;oCAA7D,SAA6D,CAAA;;;oCAC/D,eAAe;oCACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE;wCACzB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;wCAClC,OAAO,EAAE,CAAA;oCACX,CAAC,CAAC,CAAA;;;;yBACH,CAAC,EAAA;;;KACH;IAED;;;;OAIG;IACW,6BAAa,GAA3B,UAA4B,GAAS;;;;gBACnC,IAAI,IAAI,CAAC,QAAQ;oBAAE,sBAAM;gBACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;gBACpB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;gBACrC,sBAAO,IAAI,OAAO,CAAC,UAAA,OAAO;wBACxB,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAA,IAAI;4BACtB,IAAM,IAAI,GAAG,GAAG,IAAI,IAAI,CAAA;4BACxB,IAAI,IAAI;gCAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAA;4BACrD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;4BAClC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;4BAC1B,OAAO,CAAC,IAAI,CAAC,CAAA;wBACf,CAAC,CAAC,CAAA;oBACJ,CAAC,CAAC,EAAA;;;KACH;IAED;;;OAGG;IACK,6BAAa,GAArB;QACE,+DAA+D;QAC/D,mDAAmD;QACnD,OAAO,CAAC,GAAG,CACT,qCACE,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,iBAAO,CAAC,qCAAqC,CAC7E,CACH,CAAA;QACD,IAAI,CAAC,GAAG;aACL,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,iBAAO,CAAC,qCAAqC,CAAC;aACpF,GAAG,CAAC,uBAAa,CAAC,CAAA;QACrB,yFAAyF;QACzF,sFAAsF;QACtF,sEAAsE;QACtE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAO,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,IAAA,wBAAc,EAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAC9F,CAAC;IACH,YAAC;AAAD,CAAC,AAxJD,IAwJC"}
|
package/package.json
CHANGED
package/src/API/Request.ts
CHANGED
|
@@ -99,14 +99,19 @@ export default class Request<InputType, PathParamsType, QueryParamsType> {
|
|
|
99
99
|
* @returns {InputType} The parsed body of the request event.
|
|
100
100
|
*/
|
|
101
101
|
public getBody(raw?: boolean): InputType {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
102
|
+
const body: any = this.requestEvent.body
|
|
103
|
+
|
|
104
|
+
if (raw) return Utils.isHybridlessContainer() ? this.requestEvent['rawBody'] : body
|
|
105
|
+
|
|
106
|
+
if (typeof body === 'string' || body instanceof String) {
|
|
107
|
+
try {
|
|
108
|
+
return JSON.parse(body as string)
|
|
109
|
+
} catch (e) {
|
|
110
|
+
console.error('Error while getting request body!', e)
|
|
111
|
+
}
|
|
108
112
|
}
|
|
109
|
-
|
|
113
|
+
|
|
114
|
+
return body
|
|
110
115
|
}
|
|
111
116
|
|
|
112
117
|
/**
|
package/src/Logger/Logger.ts
CHANGED
|
@@ -44,15 +44,19 @@ const blacklist = ['password', 'token', 'accounts'].map(s => s.toLowerCase())
|
|
|
44
44
|
* Configuration options for the logger.
|
|
45
45
|
* @typedef {Object} LoggerConfig
|
|
46
46
|
* @property {boolean | Array<string>} [sensitiveFilteringKeywords] - Specifies whether to filter sensitive keywords in log messages. Can be a boolean value or an array of strings.
|
|
47
|
-
* @property {number} [sensitiveMaxKeys] - Maximum number of keys from an object that sensitive filtering will be applied to. Default value is 10; Increases here should be together with max size at node VM
|
|
48
47
|
* @property {LOG_LEVELS | string} [logLevel] - The log level to use for logging. Can be one of the predefined log levels or a custom string value.
|
|
49
48
|
*/
|
|
50
49
|
export type LoggerConfig = {
|
|
51
50
|
sensitiveFilteringKeywords?: boolean | Array<string>
|
|
52
|
-
sensitiveMaxKeys?: number
|
|
53
51
|
logLevel?: LOG_LEVELS | string
|
|
54
52
|
}
|
|
55
53
|
|
|
54
|
+
type SupressableItem = {
|
|
55
|
+
value: any
|
|
56
|
+
parent: any
|
|
57
|
+
key: string | number
|
|
58
|
+
}
|
|
59
|
+
|
|
56
60
|
/**
|
|
57
61
|
* Logger class for logging messages with different log levels.
|
|
58
62
|
*/
|
|
@@ -68,9 +72,9 @@ export default class Logger {
|
|
|
68
72
|
*/
|
|
69
73
|
private transactionID: string
|
|
70
74
|
/**
|
|
71
|
-
* An array of strings representing a blacklist of filters
|
|
75
|
+
* An array of strings representing a blacklist of filters
|
|
72
76
|
*/
|
|
73
|
-
private filterBlacklist:
|
|
77
|
+
private filterBlacklist: string[]
|
|
74
78
|
/**
|
|
75
79
|
* The current log level for the application.
|
|
76
80
|
* @private
|
|
@@ -103,7 +107,7 @@ export default class Logger {
|
|
|
103
107
|
? Array.isArray(this.config.sensitiveFilteringKeywords)
|
|
104
108
|
? this.config.sensitiveFilteringKeywords
|
|
105
109
|
: blacklist
|
|
106
|
-
:
|
|
110
|
+
: []
|
|
107
111
|
//
|
|
108
112
|
this.setupBindings()
|
|
109
113
|
//
|
|
@@ -289,40 +293,59 @@ export default class Logger {
|
|
|
289
293
|
* @returns {string} - The value with sensitive information suppressed.
|
|
290
294
|
*/
|
|
291
295
|
private suppressSensitiveInfo(value: any): string | any[] {
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
296
|
+
if (!value || !this.filterBlacklist.length) return value
|
|
297
|
+
|
|
298
|
+
const parent = [value]
|
|
299
|
+
const stack: SupressableItem[] = [{ value, parent, key: 0 }]
|
|
300
|
+
|
|
301
|
+
while (stack.length > 0) {
|
|
302
|
+
this.suppressSensitiveInfoItem(stack.pop()!, stack.push.bind(stack))
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
return parent[0]
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
private suppressSensitiveInfoItem(
|
|
309
|
+
{ value, parent, key }: SupressableItem,
|
|
310
|
+
push: (e: SupressableItem) => void
|
|
311
|
+
) {
|
|
312
|
+
if (!value) return
|
|
313
|
+
|
|
314
|
+
if (typeof value === 'string') {
|
|
315
|
+
this.suppressSensitiveString({ value, parent, key }, push)
|
|
310
316
|
} else if (Array.isArray(value)) {
|
|
311
|
-
|
|
312
|
-
} else if (typeof value
|
|
313
|
-
|
|
314
|
-
if (Object.keys(value).length >= (this.config?.sensitiveMaxKeys || 10)) return value
|
|
315
|
-
// key based replacement
|
|
316
|
-
Object.keys(value).forEach(elt => {
|
|
317
|
-
// do not match sensitive keys with null vals
|
|
318
|
-
const match =
|
|
319
|
-
value[elt] && (this.filterBlacklist as string[]).find(f => elt.toLowerCase().includes(f))
|
|
320
|
-
if (match) {
|
|
321
|
-
value[elt] = `**SUPPRESSED_SENSITIVE_DATA** (${String(value[elt])?.length || 0} len)`
|
|
322
|
-
} else value[elt] = this.suppressSensitiveInfo(value[elt])
|
|
323
|
-
})
|
|
324
|
-
return value
|
|
317
|
+
value.forEach((v, index) => push({ value: v, parent: value, key: index }))
|
|
318
|
+
} else if (typeof value === 'object') {
|
|
319
|
+
this.suppressSensitiveObject(value, push)
|
|
325
320
|
}
|
|
326
|
-
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
private suppressSensitiveString(
|
|
324
|
+
{ value, parent, key }: SupressableItem,
|
|
325
|
+
push: (e: SupressableItem) => void
|
|
326
|
+
) {
|
|
327
|
+
let modifiedValue = value
|
|
328
|
+
try {
|
|
329
|
+
// Try to parse json string
|
|
330
|
+
modifiedValue = JSON.parse(value)
|
|
331
|
+
push({ value: modifiedValue, parent, key })
|
|
332
|
+
} catch {
|
|
333
|
+
const lower = value.toLowerCase()
|
|
334
|
+
if (this.filterBlacklist.some(f => lower.includes(f)))
|
|
335
|
+
modifiedValue = `**SUPPRESSED_SENSITIVE_DATA** (${String(modifiedValue)?.length || 0} len)`
|
|
336
|
+
}
|
|
337
|
+
parent[key] = modifiedValue
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
private suppressSensitiveObject(value: object, push: (e: SupressableItem) => void) {
|
|
341
|
+
Object.entries(value).forEach(([k, v]) => {
|
|
342
|
+
const lower = k.toLowerCase()
|
|
343
|
+
const match = v && this.filterBlacklist.some(f => lower.includes(f))
|
|
344
|
+
if (match) {
|
|
345
|
+
value[k] = `**SUPPRESSED_SENSITIVE_DATA** (${String(v)?.length || 0} len)`
|
|
346
|
+
} else {
|
|
347
|
+
push({ value: v, parent: value, key: k })
|
|
348
|
+
}
|
|
349
|
+
})
|
|
327
350
|
}
|
|
328
351
|
}
|
|
@@ -14,6 +14,10 @@ import Server from '../Server'
|
|
|
14
14
|
*/
|
|
15
15
|
export type GenericHandlerEventResponse = { err?: Error | string; data?: any }
|
|
16
16
|
|
|
17
|
+
type HasRawBody = {
|
|
18
|
+
rawBody: Buffer
|
|
19
|
+
}
|
|
20
|
+
|
|
17
21
|
/**
|
|
18
22
|
* Represents a generic handler event for serverless functions.
|
|
19
23
|
*/
|
|
@@ -66,9 +70,10 @@ export default class GenericHandlerEvent {
|
|
|
66
70
|
* Builds and returns an APIGatewayProxyEvent object based on the current request.
|
|
67
71
|
* @returns {APIGatewayProxyEvent} - The constructed APIGatewayProxyEvent object.
|
|
68
72
|
*/
|
|
69
|
-
private buildEvent(): APIGatewayProxyEvent {
|
|
73
|
+
private buildEvent(): APIGatewayProxyEvent & HasRawBody {
|
|
70
74
|
return {
|
|
71
75
|
body: this.request.body || null, //enforce key
|
|
76
|
+
rawBody: this.request['rawBody'],
|
|
72
77
|
headers: <any>(this.request.headers || {}),
|
|
73
78
|
httpMethod: this.request.method?.toUpperCase(),
|
|
74
79
|
isBase64Encoded: false,
|
|
@@ -54,7 +54,13 @@ export default class Proxy {
|
|
|
54
54
|
this.serverlessHandler = serverlessHandler
|
|
55
55
|
this.app = express()
|
|
56
56
|
/* Opinionated Express configs */
|
|
57
|
-
this.app.use(
|
|
57
|
+
this.app.use(
|
|
58
|
+
express.json({
|
|
59
|
+
verify(req, res, buf) {
|
|
60
|
+
req['rawBody'] = buf
|
|
61
|
+
},
|
|
62
|
+
})
|
|
63
|
+
)
|
|
58
64
|
// apply cors config
|
|
59
65
|
const corsConfig = this.config.cors || Utils.parseObjectNullIfEmpty(process.env.CORS)
|
|
60
66
|
this.app.use(
|
|
@@ -480,4 +480,51 @@ describe('Container server validation (path)', () => {
|
|
|
480
480
|
})
|
|
481
481
|
})
|
|
482
482
|
|
|
483
|
+
describe('Container server raw body', () => {
|
|
484
|
+
// @ts-ignore
|
|
485
|
+
let mockExit = jest.spyOn(process, 'exit').mockImplementation(() => {})
|
|
486
|
+
beforeAll(() => {
|
|
487
|
+
// @ts-ignore
|
|
488
|
+
mockExit = jest.spyOn(process, 'exit').mockImplementation(() => {})
|
|
489
|
+
process.env['HYBRIDLESS_RUNTIME'] = 'true'
|
|
490
|
+
})
|
|
491
|
+
afterAll(() => {
|
|
492
|
+
mockExit.mockRestore()
|
|
493
|
+
process.env['HYBRIDLESS_RUNTIME'] = undefined
|
|
494
|
+
})
|
|
495
|
+
beforeEach(() => {
|
|
496
|
+
mockExit.mockReset()
|
|
497
|
+
})
|
|
498
|
+
|
|
499
|
+
test('Raw body is available', async () => {
|
|
500
|
+
let raw = null
|
|
501
|
+
const server = new ContainerServer({
|
|
502
|
+
routes: [
|
|
503
|
+
{
|
|
504
|
+
path: '/abc',
|
|
505
|
+
method: HttpMethod.POST,
|
|
506
|
+
handler: async t => {
|
|
507
|
+
raw = t.request.getBody(true)
|
|
508
|
+
return Response.SimpleResponse(null)
|
|
509
|
+
},
|
|
510
|
+
},
|
|
511
|
+
],
|
|
512
|
+
})
|
|
513
|
+
await server.start()
|
|
514
|
+
|
|
515
|
+
// it's formatted funky, because we're testing for exact match
|
|
516
|
+
const data = ' { "name" : "abc" }'
|
|
517
|
+
await request(defaultUrl)
|
|
518
|
+
.post(`/abc`)
|
|
519
|
+
.send(data)
|
|
520
|
+
.set('Content-Type', 'application/json')
|
|
521
|
+
.expect(200)
|
|
522
|
+
|
|
523
|
+
const s = new TextDecoder('utf-8').decode(raw!)
|
|
524
|
+
c_expect(s).to.be.equals(data)
|
|
525
|
+
|
|
526
|
+
await server.stop()
|
|
527
|
+
})
|
|
528
|
+
})
|
|
529
|
+
|
|
483
530
|
export {}
|