@stamhoofd/backend-middleware 2.85.4 → 2.87.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"LogMiddleware.d.ts","sourceRoot":"","sources":["../../src/LogMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAsFxG,eAAO,MAAM,aAAa,EAAE,kBAAkB,GAAG,iBAiEhD,CAAC"}
1
+ {"version":3,"file":"LogMiddleware.d.ts","sourceRoot":"","sources":["../../src/LogMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAmHxG,eAAO,MAAM,aAAa,EAAE,kBAAkB,GAAG,iBAiEhD,CAAC"}
@@ -4,6 +4,28 @@ exports.LogMiddleware = void 0;
4
4
  const simple_errors_1 = require("@simonbackx/simple-errors");
5
5
  const simple_logging_1 = require("@simonbackx/simple-logging");
6
6
  let requestCounter = 0;
7
+ function removePII(object) {
8
+ if (object === null || object === undefined) {
9
+ return;
10
+ }
11
+ if (typeof object === 'object') {
12
+ // Loop all keys
13
+ for (const key of Object.keys(object)) {
14
+ removePII(object[key]);
15
+ if (key === 'password' || key === 'clientSecret') {
16
+ object[key] = '*******';
17
+ }
18
+ }
19
+ return;
20
+ }
21
+ // Loop array
22
+ if (Array.isArray(object)) {
23
+ for (const item of object) {
24
+ removePII(item);
25
+ }
26
+ return;
27
+ }
28
+ }
7
29
  function logRequestDetails(request) {
8
30
  if (Object.keys(request.query).length) {
9
31
  const json = { ...request.query };
@@ -22,17 +44,18 @@ function logRequestDetails(request) {
22
44
  try {
23
45
  const json = JSON.parse(body);
24
46
  if (Array.isArray(json) || Object.keys(json).length) {
25
- if (json && json.password) {
26
- json.password = '*******';
27
- }
28
- if (json && json.clientSecret) {
29
- json.clientSecret = '*******';
30
- }
47
+ removePII(json);
31
48
  simple_logging_1.logger.error(...requestPrefix(request, 'body'), 'Request body was ', json);
32
49
  }
33
50
  }
34
51
  catch (e) {
35
- simple_logging_1.logger.error(...requestPrefix(request, 'body'), 'Request body was ', body);
52
+ if (typeof body === 'string') {
53
+ simple_logging_1.logger.error(...requestPrefix(request, 'body'), 'Request body was invalid JSON ', body);
54
+ }
55
+ else {
56
+ // Don't log
57
+ simple_logging_1.logger.error(...requestPrefix(request, 'body'), 'Request body was of type ' + typeof body, body);
58
+ }
36
59
  }
37
60
  }).catch(console.error);
38
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LogMiddleware.js","sourceRoot":"","sources":["../../src/LogMiddleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LogMiddleware.js","sourceRoot":"","sources":["../../src/LogMiddleware.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"root":["../src/corsmiddleware.ts","../src/logmiddleware.ts","../src/versionmiddleware.ts","../index.ts","../../../../environment.d.ts","../../../../jest-extended.d.ts","../../../stamhoofd.d.ts"],"version":"5.6.2"}
1
+ {"root":["../src/corsmiddleware.ts","../src/logmiddleware.ts","../src/versionmiddleware.ts","../index.ts","../../../../environment.d.ts","../../../../jest-extended.d.ts","../../../stamhoofd.d.ts"],"version":"5.8.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stamhoofd/backend-middleware",
3
- "version": "2.85.4",
3
+ "version": "2.87.0",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "license": "UNLICENCED",
@@ -20,5 +20,5 @@
20
20
  "publishConfig": {
21
21
  "access": "public"
22
22
  },
23
- "gitHead": "ecceacc395d167a6761f1425e77cfc06a31fe8a9"
23
+ "gitHead": "372713e1e4b626d6b4ce4f3d148f14948528312e"
24
24
  }
@@ -3,6 +3,31 @@ import { isSimpleError, isSimpleErrors } from '@simonbackx/simple-errors';
3
3
  import { logger, StyledText } from '@simonbackx/simple-logging';
4
4
  let requestCounter = 0;
5
5
 
6
+ function removePII(object: unknown) {
7
+ if (object === null || object === undefined) {
8
+ return;
9
+ }
10
+
11
+ if (typeof object === 'object') {
12
+ // Loop all keys
13
+ for (const key of Object.keys(object)) {
14
+ removePII(object[key]);
15
+ if (key === 'password' || key === 'clientSecret') {
16
+ object[key] = '*******';
17
+ }
18
+ }
19
+ return;
20
+ }
21
+
22
+ // Loop array
23
+ if (Array.isArray(object)) {
24
+ for (const item of object) {
25
+ removePII(item);
26
+ }
27
+ return;
28
+ }
29
+ }
30
+
6
31
  function logRequestDetails(request: Request) {
7
32
  if (Object.keys(request.query).length) {
8
33
  const json: any = { ...request.query };
@@ -27,13 +52,7 @@ function logRequestDetails(request: Request) {
27
52
  try {
28
53
  const json = JSON.parse(body);
29
54
  if (Array.isArray(json) || Object.keys(json).length) {
30
- if (json && json.password) {
31
- json.password = '*******';
32
- }
33
-
34
- if (json && json.clientSecret) {
35
- json.clientSecret = '*******';
36
- }
55
+ removePII(json);
37
56
 
38
57
  logger.error(
39
58
  ...requestPrefix(request, 'body'),
@@ -43,11 +62,21 @@ function logRequestDetails(request: Request) {
43
62
  }
44
63
  }
45
64
  catch (e) {
46
- logger.error(
47
- ...requestPrefix(request, 'body'),
48
- 'Request body was ',
49
- body,
50
- );
65
+ if (typeof body === 'string') {
66
+ logger.error(
67
+ ...requestPrefix(request, 'body'),
68
+ 'Request body was invalid JSON ',
69
+ body,
70
+ );
71
+ }
72
+ else {
73
+ // Don't log
74
+ logger.error(
75
+ ...requestPrefix(request, 'body'),
76
+ 'Request body was of type ' + typeof body,
77
+ body,
78
+ );
79
+ }
51
80
  }
52
81
  }).catch(console.error);
53
82
  }