@loadmill/executer 0.1.182 → 0.1.184
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/redact-data.js +38 -8
- package/dist/redact-data.js.map +1 -1
- package/package.json +3 -3
package/dist/redact-data.js
CHANGED
|
@@ -9,16 +9,23 @@ var lodash_1 = require("lodash");
|
|
|
9
9
|
var qs_1 = tslib_1.__importDefault(require("qs"));
|
|
10
10
|
var utils_1 = require("./utils");
|
|
11
11
|
var BODY_DATA_REDACTED = 'Body Data Redacted';
|
|
12
|
+
var HEADERS_DATA_REDACTED = [{ 'Headers Data Redacted': '' }];
|
|
12
13
|
function redactSensitiveData(resolvedRequests, sensitiveKeys) {
|
|
13
14
|
if (sensitiveKeys === void 0) { sensitiveKeys = []; }
|
|
14
15
|
resolvedRequests.forEach(function (rr) {
|
|
15
|
-
var _a, _b;
|
|
16
|
+
var _a, _b, _c;
|
|
16
17
|
if ((_a = rr.postData) === null || _a === void 0 ? void 0 : _a.text) {
|
|
17
18
|
rr.postData.text = !(0, lodash_1.isEmpty)(sensitiveKeys) ? redactKeysFromBody(sensitiveKeys, rr.postData.text, rr.postData.mimeType) : BODY_DATA_REDACTED;
|
|
18
19
|
}
|
|
20
|
+
if (rr.headers) {
|
|
21
|
+
rr.headers = !(0, lodash_1.isEmpty)(sensitiveKeys) ? redactKeysFromHeaders(rr.headers, sensitiveKeys) : HEADERS_DATA_REDACTED;
|
|
22
|
+
}
|
|
19
23
|
if ((_b = rr.response) === null || _b === void 0 ? void 0 : _b.text) {
|
|
20
24
|
rr.response.text = !(0, lodash_1.isEmpty)(sensitiveKeys) ? redactKeysFromBody(sensitiveKeys, rr.response.text, rr.response.type) : BODY_DATA_REDACTED;
|
|
21
25
|
}
|
|
26
|
+
if ((_c = rr.response) === null || _c === void 0 ? void 0 : _c.headers) {
|
|
27
|
+
rr.response.headers = !(0, lodash_1.isEmpty)(sensitiveKeys) ? redactKeysFromHeaders(rr.response.headers, sensitiveKeys) : HEADERS_DATA_REDACTED;
|
|
28
|
+
}
|
|
22
29
|
if (rr.postParameters) {
|
|
23
30
|
(0, parameters_1.redactPostParameters)(rr.postParameters, sensitiveKeys);
|
|
24
31
|
}
|
|
@@ -35,14 +42,13 @@ function redactKeysFromBody(sensitiveKeys, text, mimeType) {
|
|
|
35
42
|
redactKeysFromJson(params, sensitiveKeys);
|
|
36
43
|
return qs_1.default.stringify(params);
|
|
37
44
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if (!json) {
|
|
41
|
-
return text;
|
|
42
|
-
}
|
|
43
|
-
redactKeysFromJson(json, sensitiveKeys);
|
|
44
|
-
return JSON.stringify(json);
|
|
45
|
+
if (mimeType === null || mimeType === void 0 ? void 0 : mimeType.startsWith('application/json')) {
|
|
46
|
+
return redactJsonText(text, sensitiveKeys);
|
|
45
47
|
}
|
|
48
|
+
try { // Try to parse as JSON anyway (sometimes the content type is not set correctly or is missing)
|
|
49
|
+
return redactJsonText(text, sensitiveKeys);
|
|
50
|
+
}
|
|
51
|
+
catch (_a) { }
|
|
46
52
|
return text;
|
|
47
53
|
}
|
|
48
54
|
catch (e) {
|
|
@@ -50,9 +56,33 @@ function redactKeysFromBody(sensitiveKeys, text, mimeType) {
|
|
|
50
56
|
return BODY_DATA_REDACTED;
|
|
51
57
|
}
|
|
52
58
|
}
|
|
59
|
+
var redactJsonText = function (text, sensitiveKeys) {
|
|
60
|
+
var json = JSON.parse(text);
|
|
61
|
+
if (!json) {
|
|
62
|
+
return text;
|
|
63
|
+
}
|
|
64
|
+
redactKeysFromJson(json, sensitiveKeys);
|
|
65
|
+
return JSON.stringify(json);
|
|
66
|
+
};
|
|
53
67
|
function redactKeysFromJson(json, sensitiveKeys) {
|
|
54
68
|
sensitiveKeys.forEach(function (key) {
|
|
55
69
|
jsonpath_1.default.apply(json, "$..[\"".concat(key, "\"]"), function (_value) { return parameters_1.DATA_REDACTED; });
|
|
56
70
|
});
|
|
57
71
|
}
|
|
72
|
+
function redactKeysFromHeaders(headers, sensitiveKeys) {
|
|
73
|
+
try {
|
|
74
|
+
var lowerCasedSensitiveKeys_1 = sensitiveKeys.map(function (key) { return key.toLowerCase(); }); // Header names are case-insensitive
|
|
75
|
+
return headers.map(function (header) {
|
|
76
|
+
var headerName = Object.keys(header)[0];
|
|
77
|
+
if (lowerCasedSensitiveKeys_1.includes(headerName === null || headerName === void 0 ? void 0 : headerName.toLowerCase())) {
|
|
78
|
+
header[headerName] = parameters_1.DATA_REDACTED;
|
|
79
|
+
}
|
|
80
|
+
return header;
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
catch (e) {
|
|
84
|
+
log_1.default.error('Failed to redact request / response headers', e);
|
|
85
|
+
return HEADERS_DATA_REDACTED;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
58
88
|
//# sourceMappingURL=redact-data.js.map
|
package/dist/redact-data.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redact-data.js","sourceRoot":"","sources":["../src/redact-data.ts"],"names":[],"mappings":";;;;AAAA,6DAAqF;AACrF,6EAA+C;AAC/C,8DAAgC;AAChC,iCAAiC;AACjC,kDAAoB;AAEpB,iCAAyC;
|
|
1
|
+
{"version":3,"file":"redact-data.js","sourceRoot":"","sources":["../src/redact-data.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loadmill/executer",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.184",
|
|
4
4
|
"description": "Loadmill executer library",
|
|
5
5
|
"main": "dist/",
|
|
6
6
|
"scripts": {
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"@aws-sdk/client-firehose": "~3.58.0",
|
|
21
21
|
"@grpc/grpc-js": "^1.9.8",
|
|
22
22
|
"@grpc/proto-loader": "^0.7.10",
|
|
23
|
-
"@loadmill/core": "0.3.
|
|
24
|
-
"@loadmill/universal": "0.3.
|
|
23
|
+
"@loadmill/core": "0.3.183",
|
|
24
|
+
"@loadmill/universal": "0.3.178",
|
|
25
25
|
"@playwright/test": "1.50.0",
|
|
26
26
|
"@types/estree": "^0.0.50",
|
|
27
27
|
"acorn": "^8.4.1",
|