@creator.co/wapi 1.3.10 → 1.3.12
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 +2 -2
- package/dist/src/API/Request.js.map +1 -1
- package/dist/src/Logger/Logger.js +27 -28
- package/dist/src/Logger/Logger.js.map +1 -1
- package/package.json +1 -1
- package/src/API/Request.ts +2 -2
- package/src/Logger/Logger.ts +23 -30
- package/tests/Logger/Logger.test.ts +36 -3
package/dist/package.json
CHANGED
package/dist/src/API/Request.js
CHANGED
|
@@ -20,8 +20,8 @@ var Request = /** @class */ (function () {
|
|
|
20
20
|
function Request(requestEvent, context, logger) {
|
|
21
21
|
this.requestEvent = requestEvent;
|
|
22
22
|
this.context = context;
|
|
23
|
-
logger.debug('Request info:',
|
|
24
|
-
logger.debug('Request context:',
|
|
23
|
+
logger.debug('Request info:', requestEvent);
|
|
24
|
+
logger.debug('Request context:', context);
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* Checks if the specified query parameter exists and has a valid value.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Request.js","sourceRoot":"","sources":["../../../src/API/Request.ts"],"names":[],"mappings":";;;AAEA,iCAA2B;AAG3B;;;;;;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,
|
|
1
|
+
{"version":3,"file":"Request.js","sourceRoot":"","sources":["../../../src/API/Request.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,20 +48,7 @@ var DEFAULT_LOG_FUNCTION = PURE_CONSOLE.log.bind(PURE_CONSOLE);
|
|
|
48
48
|
* An array of sensitive strings that should be blacklisted or excluded from certain operations.
|
|
49
49
|
* This array includes strings such as 'password', 'phonenumber', 'resetCode', etc.
|
|
50
50
|
*/
|
|
51
|
-
var blacklist = [
|
|
52
|
-
'password',
|
|
53
|
-
'phonenumber' /*,'code'*/,
|
|
54
|
-
'resetCode',
|
|
55
|
-
'recaptchaToken',
|
|
56
|
-
'token',
|
|
57
|
-
'mfa',
|
|
58
|
-
'REFRESH_TOKEN',
|
|
59
|
-
'SECRET_HASH',
|
|
60
|
-
'SecretHash',
|
|
61
|
-
'AccessToken',
|
|
62
|
-
'UserCode',
|
|
63
|
-
'paymentMethodNonce',
|
|
64
|
-
];
|
|
51
|
+
var blacklist = ['password', 'token', 'accounts'].map(function (s) { return s.toLowerCase(); });
|
|
65
52
|
/**
|
|
66
53
|
* Logger class for logging messages with different log levels.
|
|
67
54
|
*/
|
|
@@ -254,11 +241,10 @@ var Logger = /** @class */ (function () {
|
|
|
254
241
|
*/
|
|
255
242
|
Logger.prototype.formattedLog = function (level, msg, caller) {
|
|
256
243
|
if (Utils_1.default.isHybridlessContainer() && this.transactionID) {
|
|
257
|
-
return
|
|
258
|
-
" [".concat(level.toString(), "] [").concat(caller, "] ").concat(msg.map(this.suppressSensitiveInfo).join(' ')));
|
|
244
|
+
return "".concat(this.transactionID) + " [".concat(level.toString(), "] [").concat(caller, "] ").concat(msg.join(' '));
|
|
259
245
|
}
|
|
260
246
|
else {
|
|
261
|
-
return "[".concat(level.toString(), "] [").concat(caller, "] ").concat(msg.
|
|
247
|
+
return "[".concat(level.toString(), "] [").concat(caller, "] ").concat(msg.join(' '));
|
|
262
248
|
}
|
|
263
249
|
};
|
|
264
250
|
/**
|
|
@@ -296,7 +282,10 @@ var Logger = /** @class */ (function () {
|
|
|
296
282
|
try {
|
|
297
283
|
for (var args_1 = __values(args), args_1_1 = args_1.next(); !args_1_1.done; args_1_1 = args_1.next()) {
|
|
298
284
|
var arg = args_1_1.value;
|
|
299
|
-
|
|
285
|
+
// Deep clone object so we dont modify source
|
|
286
|
+
var fMsg = typeof arg === 'object' && !(arg instanceof Error)
|
|
287
|
+
? stringify(this.suppressSensitiveInfo(JSON.parse(JSON.stringify(arg))), null, 2)
|
|
288
|
+
: this.suppressSensitiveInfo(arg);
|
|
300
289
|
msg.push(fMsg);
|
|
301
290
|
}
|
|
302
291
|
}
|
|
@@ -364,19 +353,29 @@ var Logger = /** @class */ (function () {
|
|
|
364
353
|
Logger.prototype.suppressSensitiveInfo = function (value) {
|
|
365
354
|
var _this = this;
|
|
366
355
|
//realy false
|
|
367
|
-
if (!this.filterBlacklist)
|
|
356
|
+
if (!this.filterBlacklist || !this.filterBlacklist[0])
|
|
368
357
|
return value;
|
|
369
358
|
if (typeof value == 'string') {
|
|
370
359
|
//content based replacement
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
}
|
|
360
|
+
this.filterBlacklist.forEach(function (f) {
|
|
361
|
+
var match = value.toLowerCase().includes(f);
|
|
362
|
+
if (match)
|
|
363
|
+
value = '**SUPPRESSED_SENSITIVE_DATA**';
|
|
364
|
+
});
|
|
365
|
+
return value;
|
|
366
|
+
}
|
|
367
|
+
else if (Array.isArray(value)) {
|
|
368
|
+
return value.map(function (v) { return _this.suppressSensitiveInfo(v); });
|
|
369
|
+
}
|
|
370
|
+
else if (typeof value == 'object') {
|
|
371
|
+
//key based replacement
|
|
372
|
+
Object.keys(value).forEach(function (elt) {
|
|
373
|
+
var match = _this.filterBlacklist.find(function (f) { return elt.toLowerCase().includes(f); });
|
|
374
|
+
if (match)
|
|
375
|
+
value[elt] = '**SUPPRESSED_SENSITIVE_DATA**';
|
|
376
|
+
else
|
|
377
|
+
value[elt] = _this.suppressSensitiveInfo(value[elt]);
|
|
378
|
+
});
|
|
380
379
|
return value;
|
|
381
380
|
}
|
|
382
381
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../../src/Logger/Logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,6BAA8B;AAC9B,+CAAgD;AAChD,wCAAyC;AAEzC,sCAAgC;AAEhC;;;;;;;GAOG;AACH,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,6BAAe,CAAA;IACf,2BAAa,CAAA;IACb,2BAAa,CAAA;IACb,6BAAe,CAAA;AACjB,CAAC,EALW,UAAU,0BAAV,UAAU,QAKrB;AACD;;;;;;GAMG;AACH,IAAM,YAAY,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;AAC7E;;;GAGG;AACH,IAAM,oBAAoB,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;AAEhE;;;GAGG;AACH,IAAM,SAAS,GAAG
|
|
1
|
+
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../../src/Logger/Logger.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/API/Request.ts
CHANGED
|
@@ -31,8 +31,8 @@ export default class Request<InputType, PathParamsType, QueryParamsType> {
|
|
|
31
31
|
constructor(requestEvent: APIGatewayEvent, context: Context, logger: Logger) {
|
|
32
32
|
this.requestEvent = requestEvent
|
|
33
33
|
this.context = context
|
|
34
|
-
logger.debug('Request info:',
|
|
35
|
-
logger.debug('Request context:',
|
|
34
|
+
logger.debug('Request info:', requestEvent)
|
|
35
|
+
logger.debug('Request context:', context)
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
/**
|
package/src/Logger/Logger.ts
CHANGED
|
@@ -36,20 +36,7 @@ const DEFAULT_LOG_FUNCTION = PURE_CONSOLE.log.bind(PURE_CONSOLE)
|
|
|
36
36
|
* An array of sensitive strings that should be blacklisted or excluded from certain operations.
|
|
37
37
|
* This array includes strings such as 'password', 'phonenumber', 'resetCode', etc.
|
|
38
38
|
*/
|
|
39
|
-
const blacklist = [
|
|
40
|
-
'password',
|
|
41
|
-
'phonenumber' /*,'code'*/,
|
|
42
|
-
'resetCode',
|
|
43
|
-
'recaptchaToken',
|
|
44
|
-
'token',
|
|
45
|
-
'mfa',
|
|
46
|
-
'REFRESH_TOKEN',
|
|
47
|
-
'SECRET_HASH',
|
|
48
|
-
'SecretHash',
|
|
49
|
-
'AccessToken',
|
|
50
|
-
'UserCode',
|
|
51
|
-
'paymentMethodNonce',
|
|
52
|
-
]
|
|
39
|
+
const blacklist = ['password', 'token', 'accounts'].map(s => s.toLowerCase())
|
|
53
40
|
|
|
54
41
|
/**
|
|
55
42
|
* Configuration options for the logger.
|
|
@@ -220,12 +207,9 @@ export default class Logger {
|
|
|
220
207
|
*/
|
|
221
208
|
private formattedLog(level: LOG_LEVELS, msg: Array<string>, caller: string): string {
|
|
222
209
|
if (Utils.isHybridlessContainer() && this.transactionID) {
|
|
223
|
-
return (
|
|
224
|
-
`${this.transactionID}` +
|
|
225
|
-
` [${level.toString()}] [${caller}] ${msg.map(this.suppressSensitiveInfo).join(' ')}`
|
|
226
|
-
)
|
|
210
|
+
return `${this.transactionID}` + ` [${level.toString()}] [${caller}] ${msg.join(' ')}`
|
|
227
211
|
} else {
|
|
228
|
-
return `[${level.toString()}] [${caller}] ${msg.
|
|
212
|
+
return `[${level.toString()}] [${caller}] ${msg.join(' ')}`
|
|
229
213
|
}
|
|
230
214
|
}
|
|
231
215
|
|
|
@@ -260,8 +244,11 @@ export default class Logger {
|
|
|
260
244
|
//get args
|
|
261
245
|
const msg: Array<string> = []
|
|
262
246
|
for (const arg of args) {
|
|
247
|
+
// Deep clone object so we dont modify source
|
|
263
248
|
const fMsg =
|
|
264
|
-
typeof arg === 'object' && !(arg instanceof Error)
|
|
249
|
+
typeof arg === 'object' && !(arg instanceof Error)
|
|
250
|
+
? stringify(this.suppressSensitiveInfo(JSON.parse(JSON.stringify(arg))), null, 2)
|
|
251
|
+
: this.suppressSensitiveInfo(arg)
|
|
265
252
|
msg.push(fMsg)
|
|
266
253
|
}
|
|
267
254
|
//push into logs stack
|
|
@@ -302,19 +289,25 @@ export default class Logger {
|
|
|
302
289
|
* @param {any} value - The value to suppress sensitive information from.
|
|
303
290
|
* @returns {string} - The value with sensitive information suppressed.
|
|
304
291
|
*/
|
|
305
|
-
private suppressSensitiveInfo(value: any): string {
|
|
292
|
+
private suppressSensitiveInfo(value: any): string | any[] {
|
|
306
293
|
//realy false
|
|
307
|
-
if (!this.filterBlacklist) return value
|
|
294
|
+
if (!this.filterBlacklist || !this.filterBlacklist[0]) return value
|
|
308
295
|
if (typeof value == 'string') {
|
|
309
296
|
//content based replacement
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
297
|
+
this.filterBlacklist.forEach(f => {
|
|
298
|
+
const match = value.toLowerCase().includes(f)
|
|
299
|
+
if (match) value = '**SUPPRESSED_SENSITIVE_DATA**'
|
|
300
|
+
})
|
|
301
|
+
return value
|
|
302
|
+
} else if (Array.isArray(value)) {
|
|
303
|
+
return value.map(v => this.suppressSensitiveInfo(v))
|
|
304
|
+
} else if (typeof value == 'object') {
|
|
305
|
+
//key based replacement
|
|
306
|
+
Object.keys(value).forEach(elt => {
|
|
307
|
+
const match = (this.filterBlacklist as string[]).find(f => elt.toLowerCase().includes(f))
|
|
308
|
+
if (match) value[elt] = '**SUPPRESSED_SENSITIVE_DATA**'
|
|
309
|
+
else value[elt] = this.suppressSensitiveInfo(value[elt])
|
|
310
|
+
})
|
|
318
311
|
return value
|
|
319
312
|
}
|
|
320
313
|
return value
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { expect as c_expect } from 'chai'
|
|
2
|
+
|
|
1
3
|
// get console ref and mock before logger import
|
|
2
4
|
const consoleProxy = console
|
|
3
5
|
const mock = jest.spyOn(consoleProxy, 'log')
|
|
@@ -28,14 +30,43 @@ function testLogs(isContainer: boolean, provider?: Logger) {
|
|
|
28
30
|
|
|
29
31
|
test(`${type} - ${loggerType} Log - Suppress sensitive info`, async () => {
|
|
30
32
|
setContainerFlag(isContainer)
|
|
31
|
-
localProvider.log('
|
|
33
|
+
localProvider.log('my password is 123')
|
|
34
|
+
expect(consoleProxy.log).toHaveBeenNthCalledWith(
|
|
35
|
+
1,
|
|
36
|
+
expect.stringContaining((isContainer ? `${transactionID} ` : '') + '[INFO] [Logger.test.ts:')
|
|
37
|
+
)
|
|
38
|
+
expect(consoleProxy.log).toHaveBeenNthCalledWith(
|
|
39
|
+
1,
|
|
40
|
+
expect.stringContaining('] **SUPPRESSED_SENSITIVE_DATA**')
|
|
41
|
+
)
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
test(`${type} - ${loggerType} Log - Suppress sensitive info (object)`, async () => {
|
|
45
|
+
setContainerFlag(isContainer)
|
|
46
|
+
const object = { password: '123' }
|
|
47
|
+
localProvider.log('TEST', object)
|
|
32
48
|
expect(consoleProxy.log).toHaveBeenNthCalledWith(
|
|
33
49
|
1,
|
|
34
50
|
expect.stringContaining((isContainer ? `${transactionID} ` : '') + '[INFO] [Logger.test.ts:')
|
|
35
51
|
)
|
|
36
52
|
expect(consoleProxy.log).toHaveBeenNthCalledWith(
|
|
37
53
|
1,
|
|
38
|
-
expect.stringContaining('] TEST **SUPPRESSED_SENSITIVE_DATA**')
|
|
54
|
+
expect.stringContaining('] TEST {\n "password": "**SUPPRESSED_SENSITIVE_DATA**"\n}')
|
|
55
|
+
)
|
|
56
|
+
// test if object is not mutate
|
|
57
|
+
c_expect(object.password).to.be.equals('123')
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
test(`${type} - ${loggerType} Log - Suppress sensitive info (object with sensitive string)`, async () => {
|
|
61
|
+
setContainerFlag(isContainer)
|
|
62
|
+
localProvider.log({ object: JSON.stringify({ password: 123 }) })
|
|
63
|
+
expect(consoleProxy.log).toHaveBeenNthCalledWith(
|
|
64
|
+
1,
|
|
65
|
+
expect.stringContaining((isContainer ? `${transactionID} ` : '') + '[INFO] [Logger.test.ts:')
|
|
66
|
+
)
|
|
67
|
+
expect(consoleProxy.log).toHaveBeenNthCalledWith(
|
|
68
|
+
1,
|
|
69
|
+
expect.stringContaining('] {\n "object": "**SUPPRESSED_SENSITIVE_DATA**"\n}')
|
|
39
70
|
)
|
|
40
71
|
})
|
|
41
72
|
|
|
@@ -48,7 +79,9 @@ function testLogs(isContainer: boolean, provider?: Logger) {
|
|
|
48
79
|
)
|
|
49
80
|
expect(consoleProxy.log).toHaveBeenNthCalledWith(
|
|
50
81
|
1,
|
|
51
|
-
expect.stringContaining(
|
|
82
|
+
expect.stringContaining(
|
|
83
|
+
'] TEST2 [\n {\n "password": "**SUPPRESSED_SENSITIVE_DATA**"\n }\n]'
|
|
84
|
+
)
|
|
52
85
|
)
|
|
53
86
|
})
|
|
54
87
|
|