@softprobe/softprobe-js 2.0.5 → 2.0.7
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/instrumentations/common/http/inbound-path.d.ts +16 -0
- package/dist/instrumentations/common/http/inbound-path.d.ts.map +1 -0
- package/dist/instrumentations/common/http/inbound-path.js +33 -0
- package/dist/instrumentations/common/http/inbound-path.js.map +1 -0
- package/dist/instrumentations/common/utils/callback.d.ts +8 -0
- package/dist/instrumentations/common/utils/callback.d.ts.map +1 -0
- package/dist/instrumentations/common/utils/callback.js +16 -0
- package/dist/instrumentations/common/utils/callback.js.map +1 -0
- package/dist/instrumentations/express/capture.d.ts +9 -6
- package/dist/instrumentations/express/capture.d.ts.map +1 -1
- package/dist/instrumentations/express/capture.js +2 -1
- package/dist/instrumentations/express/capture.js.map +1 -1
- package/dist/instrumentations/fastify/capture.d.ts.map +1 -1
- package/dist/instrumentations/fastify/capture.js +2 -1
- package/dist/instrumentations/fastify/capture.js.map +1 -1
- package/dist/instrumentations/postgres/replay.d.ts.map +1 -1
- package/dist/instrumentations/postgres/replay.js +3 -2
- package/dist/instrumentations/postgres/replay.js.map +1 -1
- package/dist/instrumentations/redis/replay.d.ts.map +1 -1
- package/dist/instrumentations/redis/replay.js +3 -2
- package/dist/instrumentations/redis/replay.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared inbound request path resolver for HTTP framework adapters.
|
|
3
|
+
* Normalizes to path-only form so capture/replay identifiers stay deterministic.
|
|
4
|
+
*/
|
|
5
|
+
export type InboundPathSource = {
|
|
6
|
+
originalUrl?: string;
|
|
7
|
+
url?: string;
|
|
8
|
+
path?: string;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Resolve canonical inbound path from framework request objects.
|
|
12
|
+
* Priority is originalUrl -> url -> path. Preserves query string, drops fragments,
|
|
13
|
+
* normalizes absolute URLs to path+query, and guarantees a rooted path.
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveInboundPath(source: InboundPathSource): string;
|
|
16
|
+
//# sourceMappingURL=inbound-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inbound-path.d.ts","sourceRoot":"","sources":["../../../../src/instrumentations/common/http/inbound-path.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAwBpE"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveInboundPath = resolveInboundPath;
|
|
4
|
+
/**
|
|
5
|
+
* Resolve canonical inbound path from framework request objects.
|
|
6
|
+
* Priority is originalUrl -> url -> path. Preserves query string, drops fragments,
|
|
7
|
+
* normalizes absolute URLs to path+query, and guarantees a rooted path.
|
|
8
|
+
*/
|
|
9
|
+
function resolveInboundPath(source) {
|
|
10
|
+
const preferred = source.originalUrl ?? source.url ?? source.path ?? '/';
|
|
11
|
+
const trimmed = preferred.trim();
|
|
12
|
+
if (!trimmed)
|
|
13
|
+
return '/';
|
|
14
|
+
// Normalize absolute URL inputs to path+query only.
|
|
15
|
+
if (/^[a-zA-Z][a-zA-Z\d+.-]*:\/\//.test(trimmed)) {
|
|
16
|
+
try {
|
|
17
|
+
const parsed = new URL(trimmed);
|
|
18
|
+
const normalized = `${parsed.pathname || '/'}${parsed.search}`;
|
|
19
|
+
return normalized || '/';
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
// Fall through to plain-path normalization.
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
const withoutFragment = trimmed.split('#')[0] || '';
|
|
26
|
+
const rooted = withoutFragment.startsWith('/')
|
|
27
|
+
? withoutFragment
|
|
28
|
+
: withoutFragment.startsWith('?')
|
|
29
|
+
? `/${withoutFragment}`
|
|
30
|
+
: `/${withoutFragment}`;
|
|
31
|
+
return rooted || '/';
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=inbound-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inbound-path.js","sourceRoot":"","sources":["../../../../src/instrumentations/common/http/inbound-path.ts"],"names":[],"mappings":";;AAeA,gDAwBC;AA7BD;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,MAAyB;IAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC;IACzE,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IACjC,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,CAAC;IAEzB,oDAAoD;IACpD,IAAI,8BAA8B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,UAAU,GAAG,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC/D,OAAO,UAAU,IAAI,GAAG,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,4CAA4C;QAC9C,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,MAAM,MAAM,GACV,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC;QAC7B,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC;YAC/B,CAAC,CAAC,IAAI,eAAe,EAAE;YACvB,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC;IAC9B,OAAO,MAAM,IAAI,GAAG,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Settles an asynchronous callback with a value.
|
|
3
|
+
* @param args - The arguments array.
|
|
4
|
+
* @param value - The value to settle with.
|
|
5
|
+
* @returns A promise that resolves with the value.
|
|
6
|
+
*/
|
|
7
|
+
export declare function settleAsync(args: unknown[], value?: unknown): Promise<unknown>;
|
|
8
|
+
//# sourceMappingURL=callback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["../../../../src/instrumentations/common/utils/callback.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,GAAE,OAAmB,oBAI1E"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.settleAsync = settleAsync;
|
|
4
|
+
/**
|
|
5
|
+
* Settles an asynchronous callback with a value.
|
|
6
|
+
* @param args - The arguments array.
|
|
7
|
+
* @param value - The value to settle with.
|
|
8
|
+
* @returns A promise that resolves with the value.
|
|
9
|
+
*/
|
|
10
|
+
async function settleAsync(args, value = undefined) {
|
|
11
|
+
const cb = typeof args[args.length - 1] === 'function' ? args[args.length - 1] : undefined;
|
|
12
|
+
if (cb)
|
|
13
|
+
process.nextTick(() => cb(null, value));
|
|
14
|
+
return Promise.resolve(value);
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=callback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callback.js","sourceRoot":"","sources":["../../../../src/instrumentations/common/utils/callback.ts"],"names":[],"mappings":";;AAMA,kCAIG;AAVH;;;;;GAKG;AACI,KAAK,UAAU,WAAW,CAAC,IAAe,EAAE,QAAiB,SAAS;IACzE,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,IAAI,EAAE;QAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAE,EAAkD,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACjG,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -6,6 +6,14 @@
|
|
|
6
6
|
import { CaptureEngine, queueInboundResponse, type QueueInboundResponsePayload } from '../common/http/inbound-capture';
|
|
7
7
|
export { CaptureEngine, queueInboundResponse };
|
|
8
8
|
export type { QueueInboundResponsePayload };
|
|
9
|
+
type ExpressInboundRequest = {
|
|
10
|
+
method: string;
|
|
11
|
+
path: string;
|
|
12
|
+
originalUrl?: string;
|
|
13
|
+
url?: string;
|
|
14
|
+
body?: unknown;
|
|
15
|
+
headers?: Record<string, string | string[] | undefined>;
|
|
16
|
+
};
|
|
9
17
|
/**
|
|
10
18
|
* Environment-aware Express middleware. Replay uses cassetteDirectory + traceId (from context/headers);
|
|
11
19
|
* storage is resolved per request and SoftprobeContext.run loads the cassette in REPLAY mode.
|
|
@@ -14,12 +22,7 @@ export type { QueueInboundResponsePayload };
|
|
|
14
22
|
* Task 17.3.2: Runs the whole request inside OTel context and does not return until res.end() so
|
|
15
23
|
* downstream code (route handlers, MSW fetch listener) sees the same SoftprobeContext state.
|
|
16
24
|
*/
|
|
17
|
-
export declare function softprobeExpressMiddleware(req: {
|
|
18
|
-
method: string;
|
|
19
|
-
path: string;
|
|
20
|
-
body?: unknown;
|
|
21
|
-
headers?: Record<string, string | string[] | undefined>;
|
|
22
|
-
}, res: {
|
|
25
|
+
export declare function softprobeExpressMiddleware(req: ExpressInboundRequest, res: {
|
|
23
26
|
statusCode: number;
|
|
24
27
|
send: (body?: unknown) => unknown;
|
|
25
28
|
}, next: (err?: unknown) => void): void | Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/instrumentations/express/capture.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,KAAK,2BAA2B,EACjC,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/instrumentations/express/capture.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,KAAK,2BAA2B,EACjC,MAAM,gCAAgC,CAAC;AAIxC,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC;AAC/C,YAAY,EAAE,2BAA2B,EAAE,CAAC;AAE5C,KAAK,qBAAqB,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;CACzD,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,qBAAqB,EAC1B,GAAG,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,OAAO,CAAA;CAAE,EAC9D,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,GAC5B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DtB"}
|
|
@@ -16,6 +16,7 @@ const inbound_capture_1 = require("../common/http/inbound-capture");
|
|
|
16
16
|
Object.defineProperty(exports, "CaptureEngine", { enumerable: true, get: function () { return inbound_capture_1.CaptureEngine; } });
|
|
17
17
|
Object.defineProperty(exports, "queueInboundResponse", { enumerable: true, get: function () { return inbound_capture_1.queueInboundResponse; } });
|
|
18
18
|
const span_adapter_1 = require("../common/http/span-adapter");
|
|
19
|
+
const inbound_path_1 = require("../common/http/inbound-path");
|
|
19
20
|
/**
|
|
20
21
|
* Environment-aware Express middleware. Replay uses cassetteDirectory + traceId (from context/headers);
|
|
21
22
|
* storage is resolved per request and SoftprobeContext.run loads the cassette in REPLAY mode.
|
|
@@ -68,7 +69,7 @@ function softprobeExpressMiddleware(req, res, next) {
|
|
|
68
69
|
inbound_capture_1.CaptureEngine.queueInboundResponse(ctxTraceId, {
|
|
69
70
|
status: res.statusCode,
|
|
70
71
|
body,
|
|
71
|
-
identifier: (0, span_adapter_1.buildInboundHttpIdentifier)(req.method,
|
|
72
|
+
identifier: (0, span_adapter_1.buildInboundHttpIdentifier)(req.method, (0, inbound_path_1.resolveInboundPath)(req)),
|
|
72
73
|
requestBody: req.body,
|
|
73
74
|
requestBodyBytes: (0, http_body_1.parseContentLengthHeader)(req.headers),
|
|
74
75
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../src/instrumentations/express/capture.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;
|
|
1
|
+
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../src/instrumentations/express/capture.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/instrumentations/fastify/capture.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/instrumentations/fastify/capture.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;AAkD7E;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBpF"}
|
|
@@ -9,6 +9,7 @@ exports.softprobeFastifyPlugin = softprobeFastifyPlugin;
|
|
|
9
9
|
const api_1 = require("@opentelemetry/api");
|
|
10
10
|
const inbound_capture_1 = require("../common/http/inbound-capture");
|
|
11
11
|
const span_adapter_1 = require("../common/http/span-adapter");
|
|
12
|
+
const inbound_path_1 = require("../common/http/inbound-path");
|
|
12
13
|
const replay_1 = require("./replay");
|
|
13
14
|
const context_1 = require("../../context");
|
|
14
15
|
const context_request_storage_1 = require("../../core/cassette/context-request-storage");
|
|
@@ -56,7 +57,7 @@ async function softprobeFastifyPlugin(fastify) {
|
|
|
56
57
|
inbound_capture_1.CaptureEngine.queueInboundResponse(traceId, {
|
|
57
58
|
status: reply.statusCode,
|
|
58
59
|
body: payload,
|
|
59
|
-
identifier: (0, span_adapter_1.buildInboundHttpIdentifier)(request.method, request.url),
|
|
60
|
+
identifier: (0, span_adapter_1.buildInboundHttpIdentifier)(request.method, (0, inbound_path_1.resolveInboundPath)({ url: request.url })),
|
|
60
61
|
});
|
|
61
62
|
return payload;
|
|
62
63
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../src/instrumentations/fastify/capture.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;
|
|
1
|
+
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../src/instrumentations/fastify/capture.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/instrumentations/postgres/replay.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/instrumentations/postgres/replay.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE;IAAE,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAA;CAAE,GAAG,IAAI,CAuIhG;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAQ1C"}
|
|
@@ -14,6 +14,7 @@ const shimmer_1 = __importDefault(require("shimmer"));
|
|
|
14
14
|
const api_1 = require("@opentelemetry/api");
|
|
15
15
|
const context_1 = require("../../context");
|
|
16
16
|
const postgres_span_1 = require("../../core/bindings/postgres-span");
|
|
17
|
+
const callback_1 = require("../common/utils/callback");
|
|
17
18
|
const SOFTPROBE_WRAPPED_MARKER = '__softprobeWrapped';
|
|
18
19
|
/**
|
|
19
20
|
* Patches a pg module so connect is no-op and query uses matcher. Idempotent.
|
|
@@ -32,7 +33,7 @@ function applyPostgresReplay(pg) {
|
|
|
32
33
|
// replacing it. Call chain: OTel wrapper → our wrapper → original connect.
|
|
33
34
|
const patchedConnect = function wrappedConnect(...args) {
|
|
34
35
|
if (context_1.SoftprobeContext.getMode() === 'REPLAY')
|
|
35
|
-
return
|
|
36
|
+
return (0, callback_1.settleAsync)(args);
|
|
36
37
|
return origConnect.apply(this, args);
|
|
37
38
|
};
|
|
38
39
|
patchedConnect.__softprobeConnect = true;
|
|
@@ -49,7 +50,7 @@ function applyPostgresReplay(pg) {
|
|
|
49
50
|
if (typeof pg.Client.prototype[endKey] === 'function' && !existingEnd?.__softprobeEndNoop) {
|
|
50
51
|
shimmer_1.default.wrap(pg.Client.prototype, endKey, (originalEnd) => function wrappedEnd(...args) {
|
|
51
52
|
if (context_1.SoftprobeContext.getMode() === 'REPLAY')
|
|
52
|
-
return
|
|
53
|
+
return (0, callback_1.settleAsync)(args);
|
|
53
54
|
return originalEnd.apply(this, args);
|
|
54
55
|
});
|
|
55
56
|
pg.Client.prototype[endKey].__softprobeEndNoop = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.js","sourceRoot":"","sources":["../../../src/instrumentations/postgres/replay.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;
|
|
1
|
+
{"version":3,"file":"replay.js","sourceRoot":"","sources":["../../../src/instrumentations/postgres/replay.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/instrumentations/redis/replay.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/instrumentations/redis/replay.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAoBH;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CA+HvC;AAgCD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAgBrE"}
|
|
@@ -18,6 +18,7 @@ const api_1 = require("@opentelemetry/api");
|
|
|
18
18
|
const shimmer_1 = __importDefault(require("shimmer"));
|
|
19
19
|
const redis_span_1 = require("../../core/bindings/redis-span");
|
|
20
20
|
const context_1 = require("../../context");
|
|
21
|
+
const callback_1 = require("../common/utils/callback");
|
|
21
22
|
/**
|
|
22
23
|
* Builds the same identifier string as the Redis capture hook (capture/redis.ts):
|
|
23
24
|
* command name (uppercase) plus args joined by space.
|
|
@@ -135,13 +136,13 @@ function applyInstanceNoops(client) {
|
|
|
135
136
|
const orig = client.connect;
|
|
136
137
|
client.connect = function (...args) {
|
|
137
138
|
if (context_1.SoftprobeContext.getMode() === 'REPLAY')
|
|
138
|
-
return
|
|
139
|
+
return (0, callback_1.settleAsync)(args);
|
|
139
140
|
return orig.apply(this, args);
|
|
140
141
|
};
|
|
141
142
|
}
|
|
142
143
|
const noopQuitFn = (orig) => function (...args) {
|
|
143
144
|
if (context_1.SoftprobeContext.getMode() === 'REPLAY')
|
|
144
|
-
return
|
|
145
|
+
return (0, callback_1.settleAsync)(args, 'OK');
|
|
145
146
|
return orig.apply(this, args);
|
|
146
147
|
};
|
|
147
148
|
if (typeof client.quit === 'function')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.js","sourceRoot":"","sources":["../../../src/instrumentations/redis/replay.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;
|
|
1
|
+
{"version":3,"file":"replay.js","sourceRoot":"","sources":["../../../src/instrumentations/redis/replay.ts"],"names":[],"mappings":"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"}
|