mongodb 6.12.0-dev.20250115.sha.e2aa15c2 → 6.12.0-dev.20250124.sha.70d476aa
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.
|
@@ -70,7 +70,7 @@ class CommandSucceededEvent {
|
|
|
70
70
|
this.requestId = command.requestId;
|
|
71
71
|
this.commandName = commandName;
|
|
72
72
|
this.duration = (0, utils_1.calculateDurationInMs)(started);
|
|
73
|
-
this.reply = maybeRedact(commandName, cmd, extractReply(
|
|
73
|
+
this.reply = maybeRedact(commandName, cmd, extractReply(reply));
|
|
74
74
|
this.serverConnectionId = serverConnectionId;
|
|
75
75
|
}
|
|
76
76
|
/* @internal */
|
|
@@ -133,7 +133,6 @@ exports.SENSITIVE_COMMANDS = new Set([
|
|
|
133
133
|
const HELLO_COMMANDS = new Set(['hello', constants_1.LEGACY_HELLO_COMMAND, constants_1.LEGACY_HELLO_COMMAND_CAMEL_CASE]);
|
|
134
134
|
// helper methods
|
|
135
135
|
const extractCommandName = (commandDoc) => Object.keys(commandDoc)[0];
|
|
136
|
-
const namespace = (command) => command.ns;
|
|
137
136
|
const collectionName = (command) => command.ns.split('.')[1];
|
|
138
137
|
const maybeRedact = (commandName, commandDoc, result) => exports.SENSITIVE_COMMANDS.has(commandName) ||
|
|
139
138
|
(HELLO_COMMANDS.has(commandName) && commandDoc.speculativeAuthenticate)
|
|
@@ -157,18 +156,10 @@ const LEGACY_FIND_OPTIONS_MAP = {
|
|
|
157
156
|
numberToReturn: 'batchSize',
|
|
158
157
|
returnFieldSelector: 'projection'
|
|
159
158
|
};
|
|
160
|
-
const OP_QUERY_KEYS = [
|
|
161
|
-
'tailable',
|
|
162
|
-
'oplogReplay',
|
|
163
|
-
'noCursorTimeout',
|
|
164
|
-
'awaitData',
|
|
165
|
-
'partial',
|
|
166
|
-
'exhaust'
|
|
167
|
-
];
|
|
168
159
|
/** Extract the actual command from the query, possibly up-converting if it's a legacy format */
|
|
169
160
|
function extractCommand(command) {
|
|
170
161
|
if (command instanceof commands_1.OpMsgRequest) {
|
|
171
|
-
const cmd =
|
|
162
|
+
const cmd = { ...command.command };
|
|
172
163
|
// For OP_MSG with payload type 1 we need to pull the documents
|
|
173
164
|
// array out of the document sequence for monitoring.
|
|
174
165
|
if (cmd.ops instanceof commands_1.DocumentSequence) {
|
|
@@ -190,63 +181,31 @@ function extractCommand(command) {
|
|
|
190
181
|
result = { find: collectionName(command) };
|
|
191
182
|
Object.keys(LEGACY_FIND_QUERY_MAP).forEach(key => {
|
|
192
183
|
if (command.query[key] != null) {
|
|
193
|
-
result[LEGACY_FIND_QUERY_MAP[key]] =
|
|
184
|
+
result[LEGACY_FIND_QUERY_MAP[key]] = { ...command.query[key] };
|
|
194
185
|
}
|
|
195
186
|
});
|
|
196
187
|
}
|
|
197
188
|
Object.keys(LEGACY_FIND_OPTIONS_MAP).forEach(key => {
|
|
198
189
|
const legacyKey = key;
|
|
199
190
|
if (command[legacyKey] != null) {
|
|
200
|
-
result[LEGACY_FIND_OPTIONS_MAP[legacyKey]] =
|
|
191
|
+
result[LEGACY_FIND_OPTIONS_MAP[legacyKey]] = command[legacyKey];
|
|
201
192
|
}
|
|
202
193
|
});
|
|
203
|
-
OP_QUERY_KEYS.forEach(key => {
|
|
204
|
-
if (command[key]) {
|
|
205
|
-
result[key] = command[key];
|
|
206
|
-
}
|
|
207
|
-
});
|
|
208
|
-
if (command.pre32Limit != null) {
|
|
209
|
-
result.limit = command.pre32Limit;
|
|
210
|
-
}
|
|
211
|
-
if (command.query.$explain) {
|
|
212
|
-
return { explain: result };
|
|
213
|
-
}
|
|
214
194
|
return result;
|
|
215
195
|
}
|
|
216
|
-
|
|
217
|
-
const clonedCommand = {};
|
|
196
|
+
let clonedQuery = {};
|
|
197
|
+
const clonedCommand = { ...command };
|
|
218
198
|
if (command.query) {
|
|
219
|
-
|
|
220
|
-
clonedQuery[k] = (0, utils_1.deepCopy)(command.query[k]);
|
|
221
|
-
}
|
|
199
|
+
clonedQuery = { ...command.query };
|
|
222
200
|
clonedCommand.query = clonedQuery;
|
|
223
201
|
}
|
|
224
|
-
for (const k in command) {
|
|
225
|
-
if (k === 'query')
|
|
226
|
-
continue;
|
|
227
|
-
clonedCommand[k] = (0, utils_1.deepCopy)(command[k]);
|
|
228
|
-
}
|
|
229
202
|
return command.query ? clonedQuery : clonedCommand;
|
|
230
203
|
}
|
|
231
|
-
function extractReply(
|
|
204
|
+
function extractReply(reply) {
|
|
232
205
|
if (!reply) {
|
|
233
206
|
return reply;
|
|
234
207
|
}
|
|
235
|
-
|
|
236
|
-
return (0, utils_1.deepCopy)(reply.result ? reply.result : reply);
|
|
237
|
-
}
|
|
238
|
-
// is this a legacy find command?
|
|
239
|
-
if (command.query && command.query.$query != null) {
|
|
240
|
-
return {
|
|
241
|
-
ok: 1,
|
|
242
|
-
cursor: {
|
|
243
|
-
id: (0, utils_1.deepCopy)(reply.cursorId),
|
|
244
|
-
ns: namespace(command),
|
|
245
|
-
firstBatch: (0, utils_1.deepCopy)(reply.documents)
|
|
246
|
-
}
|
|
247
|
-
};
|
|
248
|
-
}
|
|
249
|
-
return (0, utils_1.deepCopy)(reply.result ? reply.result : reply);
|
|
208
|
+
return reply.result ? reply.result : reply;
|
|
250
209
|
}
|
|
251
210
|
function extractConnectionDetails(connection) {
|
|
252
211
|
let connectionId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command_monitoring_events.js","sourceRoot":"","sources":["../../src/cmap/command_monitoring_events.ts"],"names":[],"mappings":";;;AACA,4CAMsB;AACtB,
|
|
1
|
+
{"version":3,"file":"command_monitoring_events.js","sourceRoot":"","sources":["../../src/cmap/command_monitoring_events.ts"],"names":[],"mappings":";;;AACA,4CAMsB;AACtB,oCAAiD;AACjD,yCAKoB;AAGpB;;;;GAIG;AACH,MAAa,mBAAmB;IAmB9B;;;;;;OAMG;IACH,YACE,UAAsB,EACtB,OAAiC,EACjC,kBAAiC;QAbnC,gBAAgB;QAChB,SAAI,GAAG,2BAAe,CAAC;QAcrB,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;QAElF,4DAA4D;QAC5D,IAAI,0BAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAED,eAAe;IACf,IAAI,YAAY;QACd,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;CACF;AAvDD,kDAuDC;AAED;;;;GAIG;AACH,MAAa,qBAAqB;IAiBhC;;;;;;;;OAQG;IACH,YACE,UAAsB,EACtB,OAAiC,EACjC,KAA2B,EAC3B,OAAe,EACf,kBAAiC;QAjBnC,gBAAgB;QAChB,SAAI,GAAG,6BAAiB,CAAC;QAkBvB,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;QAElF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAA,6BAAqB,EAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAED,eAAe;IACf,IAAI,YAAY;QACd,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;CACF;AAnDD,sDAmDC;AAED;;;;GAIG;AACH,MAAa,kBAAkB;IAiB7B;;;;;;;;OAQG;IACH,YACE,UAAsB,EACtB,OAAiC,EACjC,KAAuB,EACvB,OAAe,EACf,kBAAiC;QAjBnC,gBAAgB;QAChB,SAAI,GAAG,0BAAc,CAAC;QAkBpB,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;QAElF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAA,6BAAqB,EAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAU,CAAC;QAC7D,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAED,eAAe;IACf,IAAI,YAAY;QACd,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;CACF;AApDD,gDAoDC;AAED;;;GAGG;AACU,QAAA,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACxC,cAAc;IACd,WAAW;IACX,cAAc;IACd,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,gBAAgB;IAChB,iBAAiB;IACjB,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,gCAAoB,EAAE,2CAA+B,CAAC,CAAC,CAAC;AAEjG,iBAAiB;AACjB,MAAM,kBAAkB,GAAG,CAAC,UAAoB,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,MAAM,cAAc,GAAG,CAAC,OAAuB,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,MAAM,WAAW,GAAG,CAAC,WAAmB,EAAE,UAAoB,EAAE,MAAwB,EAAE,EAAE,CAC1F,0BAAkB,CAAC,GAAG,CAAC,WAAW,CAAC;IACnC,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,uBAAuB,CAAC;IACrE,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC,MAAM,CAAC;AAEb,MAAM,qBAAqB,GAA8B;IACvD,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;IACX,UAAU,EAAE,WAAW;IACvB,YAAY,EAAE,cAAc;IAC5B,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,UAAU;CACtB,CAAC;AAEF,MAAM,uBAAuB,GAAG;IAC9B,YAAY,EAAE,MAAM;IACpB,cAAc,EAAE,WAAW;IAC3B,mBAAmB,EAAE,YAAY;CACzB,CAAC;AAEX,gGAAgG;AAChG,SAAS,cAAc,CAAC,OAAiC;IACvD,IAAI,OAAO,YAAY,uBAAY,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACnC,+DAA+D;QAC/D,qDAAqD;QACrD,IAAI,GAAG,CAAC,GAAG,YAAY,2BAAgB,EAAE,CAAC;YACxC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;QAC9B,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,YAAY,2BAAgB,EAAE,CAAC;YAC3C,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;QACpC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAC1B,IAAI,MAAgB,CAAC;QACrB,IAAI,OAAO,CAAC,EAAE,KAAK,YAAY,EAAE,CAAC;YAChC,4BAA4B;YAC5B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,iCAAiC;YACjC,MAAM,GAAG,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC/C,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;oBAC/B,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjE,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACjD,MAAM,SAAS,GAAG,GAA2C,CAAC;YAC9D,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC/B,MAAM,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YAClE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,WAAW,GAA4B,EAAE,CAAC;IAC9C,MAAM,aAAa,GAA4B,EAAE,GAAG,OAAO,EAAE,CAAC;IAC9D,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,WAAW,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QACnC,aAAa,CAAC,KAAK,GAAG,WAAW,CAAC;IACpC,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;AACrD,CAAC;AAED,SAAS,YAAY,CAAC,KAAgB;IACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7C,CAAC;AAED,SAAS,wBAAwB,CAAC,UAAsB;IACtD,IAAI,YAAY,CAAC;IACjB,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;QACvB,YAAY,GAAG,UAAU,CAAC,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO;QACL,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,YAAY;KACb,CAAC;AACJ,CAAC"}
|
package/lib/utils.js
CHANGED
|
@@ -28,7 +28,6 @@ exports.isSuperset = isSuperset;
|
|
|
28
28
|
exports.isHello = isHello;
|
|
29
29
|
exports.setDifference = setDifference;
|
|
30
30
|
exports.isRecord = isRecord;
|
|
31
|
-
exports.deepCopy = deepCopy;
|
|
32
31
|
exports.emitWarning = emitWarning;
|
|
33
32
|
exports.emitWarningOnce = emitWarningOnce;
|
|
34
33
|
exports.enumToString = enumToString;
|
|
@@ -500,42 +499,6 @@ function isRecord(value, requiredKeys = undefined) {
|
|
|
500
499
|
}
|
|
501
500
|
return true;
|
|
502
501
|
}
|
|
503
|
-
/**
|
|
504
|
-
* Make a deep copy of an object
|
|
505
|
-
*
|
|
506
|
-
* NOTE: This is not meant to be the perfect implementation of a deep copy,
|
|
507
|
-
* but instead something that is good enough for the purposes of
|
|
508
|
-
* command monitoring.
|
|
509
|
-
*/
|
|
510
|
-
function deepCopy(value) {
|
|
511
|
-
if (value == null) {
|
|
512
|
-
return value;
|
|
513
|
-
}
|
|
514
|
-
else if (Array.isArray(value)) {
|
|
515
|
-
return value.map(item => deepCopy(item));
|
|
516
|
-
}
|
|
517
|
-
else if (isRecord(value)) {
|
|
518
|
-
const res = {};
|
|
519
|
-
for (const key in value) {
|
|
520
|
-
res[key] = deepCopy(value[key]);
|
|
521
|
-
}
|
|
522
|
-
return res;
|
|
523
|
-
}
|
|
524
|
-
const ctor = value.constructor;
|
|
525
|
-
if (ctor) {
|
|
526
|
-
switch (ctor.name.toLowerCase()) {
|
|
527
|
-
case 'date':
|
|
528
|
-
return new ctor(Number(value));
|
|
529
|
-
case 'map':
|
|
530
|
-
return new Map(value);
|
|
531
|
-
case 'set':
|
|
532
|
-
return new Set(value);
|
|
533
|
-
case 'buffer':
|
|
534
|
-
return Buffer.from(value);
|
|
535
|
-
}
|
|
536
|
-
}
|
|
537
|
-
return value;
|
|
538
|
-
}
|
|
539
502
|
/**
|
|
540
503
|
* A sequential list of items in a circularly linked list
|
|
541
504
|
* @remarks
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
LEGACY_HELLO_COMMAND,
|
|
7
7
|
LEGACY_HELLO_COMMAND_CAMEL_CASE
|
|
8
8
|
} from '../constants';
|
|
9
|
-
import { calculateDurationInMs
|
|
9
|
+
import { calculateDurationInMs } from '../utils';
|
|
10
10
|
import {
|
|
11
11
|
DocumentSequence,
|
|
12
12
|
OpMsgRequest,
|
|
@@ -125,7 +125,7 @@ export class CommandSucceededEvent {
|
|
|
125
125
|
this.requestId = command.requestId;
|
|
126
126
|
this.commandName = commandName;
|
|
127
127
|
this.duration = calculateDurationInMs(started);
|
|
128
|
-
this.reply = maybeRedact(commandName, cmd, extractReply(
|
|
128
|
+
this.reply = maybeRedact(commandName, cmd, extractReply(reply));
|
|
129
129
|
this.serverConnectionId = serverConnectionId;
|
|
130
130
|
}
|
|
131
131
|
|
|
@@ -214,7 +214,6 @@ const HELLO_COMMANDS = new Set(['hello', LEGACY_HELLO_COMMAND, LEGACY_HELLO_COMM
|
|
|
214
214
|
|
|
215
215
|
// helper methods
|
|
216
216
|
const extractCommandName = (commandDoc: Document) => Object.keys(commandDoc)[0];
|
|
217
|
-
const namespace = (command: OpQueryRequest) => command.ns;
|
|
218
217
|
const collectionName = (command: OpQueryRequest) => command.ns.split('.')[1];
|
|
219
218
|
const maybeRedact = (commandName: string, commandDoc: Document, result: Error | Document) =>
|
|
220
219
|
SENSITIVE_COMMANDS.has(commandName) ||
|
|
@@ -242,19 +241,10 @@ const LEGACY_FIND_OPTIONS_MAP = {
|
|
|
242
241
|
returnFieldSelector: 'projection'
|
|
243
242
|
} as const;
|
|
244
243
|
|
|
245
|
-
const OP_QUERY_KEYS = [
|
|
246
|
-
'tailable',
|
|
247
|
-
'oplogReplay',
|
|
248
|
-
'noCursorTimeout',
|
|
249
|
-
'awaitData',
|
|
250
|
-
'partial',
|
|
251
|
-
'exhaust'
|
|
252
|
-
] as const;
|
|
253
|
-
|
|
254
244
|
/** Extract the actual command from the query, possibly up-converting if it's a legacy format */
|
|
255
245
|
function extractCommand(command: WriteProtocolMessageType): Document {
|
|
256
246
|
if (command instanceof OpMsgRequest) {
|
|
257
|
-
const cmd =
|
|
247
|
+
const cmd = { ...command.command };
|
|
258
248
|
// For OP_MSG with payload type 1 we need to pull the documents
|
|
259
249
|
// array out of the document sequence for monitoring.
|
|
260
250
|
if (cmd.ops instanceof DocumentSequence) {
|
|
@@ -276,7 +266,7 @@ function extractCommand(command: WriteProtocolMessageType): Document {
|
|
|
276
266
|
result = { find: collectionName(command) };
|
|
277
267
|
Object.keys(LEGACY_FIND_QUERY_MAP).forEach(key => {
|
|
278
268
|
if (command.query[key] != null) {
|
|
279
|
-
result[LEGACY_FIND_QUERY_MAP[key]] =
|
|
269
|
+
result[LEGACY_FIND_QUERY_MAP[key]] = { ...command.query[key] };
|
|
280
270
|
}
|
|
281
271
|
});
|
|
282
272
|
}
|
|
@@ -284,64 +274,29 @@ function extractCommand(command: WriteProtocolMessageType): Document {
|
|
|
284
274
|
Object.keys(LEGACY_FIND_OPTIONS_MAP).forEach(key => {
|
|
285
275
|
const legacyKey = key as keyof typeof LEGACY_FIND_OPTIONS_MAP;
|
|
286
276
|
if (command[legacyKey] != null) {
|
|
287
|
-
result[LEGACY_FIND_OPTIONS_MAP[legacyKey]] =
|
|
288
|
-
}
|
|
289
|
-
});
|
|
290
|
-
|
|
291
|
-
OP_QUERY_KEYS.forEach(key => {
|
|
292
|
-
if (command[key]) {
|
|
293
|
-
result[key] = command[key];
|
|
277
|
+
result[LEGACY_FIND_OPTIONS_MAP[legacyKey]] = command[legacyKey];
|
|
294
278
|
}
|
|
295
279
|
});
|
|
296
280
|
|
|
297
|
-
if (command.pre32Limit != null) {
|
|
298
|
-
result.limit = command.pre32Limit;
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
if (command.query.$explain) {
|
|
302
|
-
return { explain: result };
|
|
303
|
-
}
|
|
304
281
|
return result;
|
|
305
282
|
}
|
|
306
283
|
|
|
307
|
-
|
|
308
|
-
const clonedCommand: Record<string, unknown> = {};
|
|
284
|
+
let clonedQuery: Record<string, unknown> = {};
|
|
285
|
+
const clonedCommand: Record<string, unknown> = { ...command };
|
|
309
286
|
if (command.query) {
|
|
310
|
-
|
|
311
|
-
clonedQuery[k] = deepCopy(command.query[k]);
|
|
312
|
-
}
|
|
287
|
+
clonedQuery = { ...command.query };
|
|
313
288
|
clonedCommand.query = clonedQuery;
|
|
314
289
|
}
|
|
315
290
|
|
|
316
|
-
for (const k in command) {
|
|
317
|
-
if (k === 'query') continue;
|
|
318
|
-
clonedCommand[k] = deepCopy((command as unknown as Record<string, unknown>)[k]);
|
|
319
|
-
}
|
|
320
291
|
return command.query ? clonedQuery : clonedCommand;
|
|
321
292
|
}
|
|
322
293
|
|
|
323
|
-
function extractReply(
|
|
294
|
+
function extractReply(reply?: Document) {
|
|
324
295
|
if (!reply) {
|
|
325
296
|
return reply;
|
|
326
297
|
}
|
|
327
298
|
|
|
328
|
-
|
|
329
|
-
return deepCopy(reply.result ? reply.result : reply);
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
// is this a legacy find command?
|
|
333
|
-
if (command.query && command.query.$query != null) {
|
|
334
|
-
return {
|
|
335
|
-
ok: 1,
|
|
336
|
-
cursor: {
|
|
337
|
-
id: deepCopy(reply.cursorId),
|
|
338
|
-
ns: namespace(command),
|
|
339
|
-
firstBatch: deepCopy(reply.documents)
|
|
340
|
-
}
|
|
341
|
-
};
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
return deepCopy(reply.result ? reply.result : reply);
|
|
299
|
+
return reply.result ? reply.result : reply;
|
|
345
300
|
}
|
|
346
301
|
|
|
347
302
|
function extractConnectionDetails(connection: Connection) {
|
package/src/utils.ts
CHANGED
|
@@ -620,43 +620,6 @@ export function isRecord(
|
|
|
620
620
|
return true;
|
|
621
621
|
}
|
|
622
622
|
|
|
623
|
-
/**
|
|
624
|
-
* Make a deep copy of an object
|
|
625
|
-
*
|
|
626
|
-
* NOTE: This is not meant to be the perfect implementation of a deep copy,
|
|
627
|
-
* but instead something that is good enough for the purposes of
|
|
628
|
-
* command monitoring.
|
|
629
|
-
*/
|
|
630
|
-
export function deepCopy<T>(value: T): T {
|
|
631
|
-
if (value == null) {
|
|
632
|
-
return value;
|
|
633
|
-
} else if (Array.isArray(value)) {
|
|
634
|
-
return value.map(item => deepCopy(item)) as unknown as T;
|
|
635
|
-
} else if (isRecord(value)) {
|
|
636
|
-
const res = {} as any;
|
|
637
|
-
for (const key in value) {
|
|
638
|
-
res[key] = deepCopy(value[key]);
|
|
639
|
-
}
|
|
640
|
-
return res;
|
|
641
|
-
}
|
|
642
|
-
|
|
643
|
-
const ctor = (value as any).constructor;
|
|
644
|
-
if (ctor) {
|
|
645
|
-
switch (ctor.name.toLowerCase()) {
|
|
646
|
-
case 'date':
|
|
647
|
-
return new ctor(Number(value));
|
|
648
|
-
case 'map':
|
|
649
|
-
return new Map(value as any) as unknown as T;
|
|
650
|
-
case 'set':
|
|
651
|
-
return new Set(value as any) as unknown as T;
|
|
652
|
-
case 'buffer':
|
|
653
|
-
return Buffer.from(value as unknown as Buffer) as unknown as T;
|
|
654
|
-
}
|
|
655
|
-
}
|
|
656
|
-
|
|
657
|
-
return value;
|
|
658
|
-
}
|
|
659
|
-
|
|
660
623
|
type ListNode<T> = {
|
|
661
624
|
value: T;
|
|
662
625
|
next: ListNode<T> | HeadNode<T>;
|