-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.js
89 lines (85 loc) · 2.1 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/**
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
* This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2022 Datadog, Inc.
**/
'use strict'
let addon
try {
addon = require('node-gyp-build')(__dirname)
} catch (e) {
addon = {
createTransaction (transactionId) {
return transactionId
},
newTaintedString (transactionId, original) {
return original
},
newTaintedObject (transactionId, original) {
return original
},
addSecureMarksToTaintedString (transactionId, original) {
return original
},
isTainted () {
return false
},
getMetrics () {
return undefined
},
getRanges () {
return undefined
},
removeTransaction () {
},
setMaxTransactions () {
},
replace (transactionId, result) {
return result
},
concat (transactionId, result) {
return result
},
trim (transaction, result) {
return result
},
trimEnd (transaction, result) {
return result
},
slice (transaction, result) {
return result
},
substring (transaction, result) {
return result
},
substr (transaction, result) {
return result
},
stringCase (transaction, result) {
return result
},
arrayJoin (transaction, result) {
return result
}
}
}
const iastNativeMethods = {
newTaintedString: addon.newTaintedString,
newTaintedObject: addon.newTaintedObject,
addSecureMarksToTaintedString: addon.addSecureMarksToTaintedString,
isTainted: addon.isTainted,
getMetrics: addon.getMetrics,
getRanges: addon.getRanges,
createTransaction: addon.createTransaction,
removeTransaction: addon.removeTransaction,
setMaxTransactions: addon.setMaxTransactions,
replace: require('./replace.js')(addon),
concat: addon.concat,
trim: addon.trim,
trimEnd: addon.trimEnd,
slice: addon.slice,
substring: addon.substring,
substr: addon.substr,
stringCase: addon.stringCase,
arrayJoin: addon.arrayJoin
}
module.exports = iastNativeMethods