common-rod 1.8.2 → 1.8.3
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/http-service2.js +1 -1
- package/lib/maskCredential.js +82 -10
- package/package.json +2 -2
- package/readme.md +11 -1
package/lib/http-service2.js
CHANGED
|
@@ -145,7 +145,7 @@ async function requestHttp(rodSession, optionAttributes, ins) {
|
|
|
145
145
|
let processLog = maskCredential.outgoing_request_detail(optionAttribute._service+'.'+optionAttribute._command, {
|
|
146
146
|
"Header" : {...optionAttribute.headers},
|
|
147
147
|
"Url" : getURL(optionAttribute),
|
|
148
|
-
"QueryString" : optionAttribute.params || null,
|
|
148
|
+
"QueryString" : {...optionAttribute.params} || null,
|
|
149
149
|
"Body" : optionAttribute.data, //NOT SHALLOW CLONE
|
|
150
150
|
"_RawData": optionAttribute._rawData //REMOVE AFTER CALL outgoing_request_detail
|
|
151
151
|
}, rodSession.detail().isRawDataEnabled());
|
package/lib/maskCredential.js
CHANGED
|
@@ -33,7 +33,8 @@
|
|
|
33
33
|
"summary_log":true,
|
|
34
34
|
"detail_log":{
|
|
35
35
|
"raw_data":true,
|
|
36
|
-
"
|
|
36
|
+
"data_path_header": ["a.b","c.d"]
|
|
37
|
+
"data_path_querystrings": ["a.b","c.d"]
|
|
37
38
|
}
|
|
38
39
|
},{
|
|
39
40
|
"type":"fbbid",
|
|
@@ -41,7 +42,7 @@
|
|
|
41
42
|
"summary_log":true,
|
|
42
43
|
"detail_log":{
|
|
43
44
|
"raw_data":true,
|
|
44
|
-
"
|
|
45
|
+
"data_path_header": ["a.b","c.d"]
|
|
45
46
|
}
|
|
46
47
|
}]
|
|
47
48
|
},
|
|
@@ -52,7 +53,7 @@
|
|
|
52
53
|
"summary_log":true,
|
|
53
54
|
"detail_log":{
|
|
54
55
|
"raw_data":true,
|
|
55
|
-
"
|
|
56
|
+
"data_path_header": ["a.b","c.d"]
|
|
56
57
|
}
|
|
57
58
|
}]
|
|
58
59
|
}
|
|
@@ -66,7 +67,7 @@
|
|
|
66
67
|
//"summary_log":true,
|
|
67
68
|
"detail_log":{
|
|
68
69
|
"raw_data":true,
|
|
69
|
-
"
|
|
70
|
+
"data_path_header": ["a.b","c.d"]
|
|
70
71
|
}
|
|
71
72
|
}]
|
|
72
73
|
}
|
|
@@ -83,7 +84,8 @@
|
|
|
83
84
|
"summary_log":true,
|
|
84
85
|
"detail_log":{
|
|
85
86
|
"raw_data":true,
|
|
86
|
-
"
|
|
87
|
+
"data_path_header": ["a.b","c.d"]
|
|
88
|
+
"data_path_body": ["a.b","c.d"]
|
|
87
89
|
}
|
|
88
90
|
},{
|
|
89
91
|
"type":"fbbid",
|
|
@@ -91,7 +93,7 @@
|
|
|
91
93
|
"summary_log":true,
|
|
92
94
|
"detail_log":{
|
|
93
95
|
"raw_data":true,
|
|
94
|
-
"
|
|
96
|
+
"data_path_body": ["a.b","c.d"]
|
|
95
97
|
}
|
|
96
98
|
}]
|
|
97
99
|
}
|
|
@@ -288,9 +290,10 @@ let maskCredential = function () {
|
|
|
288
290
|
let copyHeaders = {
|
|
289
291
|
...req.headers
|
|
290
292
|
}
|
|
291
|
-
|
|
293
|
+
let queryString = Object.keys(req.query).length === 0 ? null : {...req.query};
|
|
292
294
|
let body;
|
|
293
295
|
let rawData = req.rodRawData;
|
|
296
|
+
let url = req.url;
|
|
294
297
|
if (typeof req.body === 'object') {
|
|
295
298
|
// rawData = Object.keys(req.body).length === 0 ? null : JSON.stringify(req.body);
|
|
296
299
|
// body = {
|
|
@@ -330,6 +333,41 @@ let maskCredential = function () {
|
|
|
330
333
|
}
|
|
331
334
|
}
|
|
332
335
|
}
|
|
336
|
+
//url
|
|
337
|
+
if (mask.detail_log.url && url) {
|
|
338
|
+
if (mask_credentails.mask_template[mask.type]) {
|
|
339
|
+
let mt = mask_credentails.mask_template[mask.type];
|
|
340
|
+
for (let k = 0; k < mt.length; k++) {
|
|
341
|
+
let replaced = url.search(mt[k].pattern) >= 0;
|
|
342
|
+
if (replaced) {
|
|
343
|
+
url = url.replace(mt[k].pattern, mt[k].mask_value);
|
|
344
|
+
if (mt[k].continue !== true) {
|
|
345
|
+
break;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
//querystring
|
|
353
|
+
if (mask.detail_log.data_path_querystrings && queryString) {
|
|
354
|
+
for (let j = 0; j < mask.detail_log.data_path_querystrings.length; j++) {
|
|
355
|
+
let queryStringPath = mask.detail_log.data_path_querystrings[j];
|
|
356
|
+
if (queryString[queryStringPath] && mask_credentails.mask_template[mask.type]) {
|
|
357
|
+
let mt = mask_credentails.mask_template[mask.type];
|
|
358
|
+
for (let k = 0; k < mt.length; k++) {
|
|
359
|
+
let replaced = queryString[queryStringPath].search(mt[k].pattern) >= 0;
|
|
360
|
+
if (replaced) {
|
|
361
|
+
queryString[queryStringPath] = queryString[queryStringPath].replace(mt[k].pattern, mt[k].mask_value);
|
|
362
|
+
if (mt[k].continue !== true) {
|
|
363
|
+
break;
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
|
|
333
371
|
if (mask.detail_log.data_path_headers) {
|
|
334
372
|
for (let j = 0; j < mask.detail_log.data_path_headers.length; j++) {
|
|
335
373
|
let headerPath = mask.detail_log.data_path_headers[j];
|
|
@@ -344,7 +382,6 @@ let maskCredential = function () {
|
|
|
344
382
|
}
|
|
345
383
|
}
|
|
346
384
|
}
|
|
347
|
-
|
|
348
385
|
}
|
|
349
386
|
}
|
|
350
387
|
}
|
|
@@ -395,8 +432,8 @@ let maskCredential = function () {
|
|
|
395
432
|
detailLog.addInputRequest("client", inputCmd, req.invoke,
|
|
396
433
|
rawData, {
|
|
397
434
|
Headers: copyHeaders,
|
|
398
|
-
Url:
|
|
399
|
-
QueryString:
|
|
435
|
+
Url: url,
|
|
436
|
+
QueryString: queryString,
|
|
400
437
|
Body: body
|
|
401
438
|
},
|
|
402
439
|
req.protocol, req.method);
|
|
@@ -823,6 +860,41 @@ let maskCredential = function () {
|
|
|
823
860
|
}
|
|
824
861
|
}
|
|
825
862
|
}
|
|
863
|
+
//url
|
|
864
|
+
if (mask.detail_log.url && obj.Url) {
|
|
865
|
+
if (mask_credentails.mask_template[mask.type]) {
|
|
866
|
+
let mt = mask_credentails.mask_template[mask.type];
|
|
867
|
+
for (let k = 0; k < mt.length; k++) {
|
|
868
|
+
let replaced = obj.Url.search(mt[k].pattern) >= 0;
|
|
869
|
+
if (replaced) {
|
|
870
|
+
obj.Url = obj.Url.replace(mt[k].pattern, mt[k].mask_value);
|
|
871
|
+
if (mt[k].continue !== true) {
|
|
872
|
+
break;
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
}
|
|
876
|
+
}
|
|
877
|
+
}
|
|
878
|
+
|
|
879
|
+
//querystring
|
|
880
|
+
if (mask.detail_log.data_path_querystrings && obj.QueryString) {
|
|
881
|
+
for (let j = 0; j < mask.detail_log.data_path_querystrings.length; j++) {
|
|
882
|
+
let queryStringPath = mask.detail_log.data_path_querystrings[j];
|
|
883
|
+
if (obj.QueryString[queryStringPath] && mask_credentails.mask_template[mask.type]) {
|
|
884
|
+
let mt = mask_credentails.mask_template[mask.type];
|
|
885
|
+
for (let k = 0; k < mt.length; k++) {
|
|
886
|
+
let replaced = obj.QueryString[queryStringPath].search(mt[k].pattern) >= 0;
|
|
887
|
+
if (replaced) {
|
|
888
|
+
obj.QueryString[queryStringPath] = obj.QueryString[queryStringPath].replace(mt[k].pattern, mt[k].mask_value);
|
|
889
|
+
if (mt[k].continue !== true) {
|
|
890
|
+
break;
|
|
891
|
+
}
|
|
892
|
+
}
|
|
893
|
+
}
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
}
|
|
897
|
+
|
|
826
898
|
//header
|
|
827
899
|
if (mask.detail_log.data_path_headers) {
|
|
828
900
|
for (let j = 0; j < mask.detail_log.data_path_headers.length; j++) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "common-rod",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"author": "Thanakhan Iaocharoen",
|
|
10
10
|
"license": "ISC",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"axios": "^0.
|
|
12
|
+
"axios": "^0.30.0",
|
|
13
13
|
"body-parser": "^1.19.0",
|
|
14
14
|
"cli-table": "^0.3.1",
|
|
15
15
|
"commonlog-kb": "^2.3.0",
|
package/readme.md
CHANGED
|
@@ -365,4 +365,14 @@ upgrade mongo version from 3.x to 4
|
|
|
365
365
|
```
|
|
366
366
|
fixed insecure Transport: Weak SSL Protocol
|
|
367
367
|
fixed Path Manipulation
|
|
368
|
-
```
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
[1.8.3] - 2025-05-16
|
|
373
|
+
### Added
|
|
374
|
+
### Changed
|
|
375
|
+
```
|
|
376
|
+
change axios from 0.21.4 to 0.30.0
|
|
377
|
+
```
|
|
378
|
+
### Fixed
|