dd-trace 5.103.0 → 5.105.0
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/LICENSE-3rdparty.csv +90 -102
- package/index.d.ts +107 -6
- package/package.json +18 -17
- package/packages/datadog-core/src/storage.js +1 -1
- package/packages/datadog-instrumentations/src/aerospike.js +1 -1
- package/packages/datadog-instrumentations/src/ai.js +8 -7
- package/packages/datadog-instrumentations/src/aws-sdk.js +15 -2
- package/packages/datadog-instrumentations/src/azure-cosmos.js +7 -0
- package/packages/datadog-instrumentations/src/azure-functions.js +3 -0
- package/packages/datadog-instrumentations/src/cassandra-driver.js +5 -2
- package/packages/datadog-instrumentations/src/cucumber.js +181 -35
- package/packages/datadog-instrumentations/src/dns.js +54 -18
- package/packages/datadog-instrumentations/src/elasticsearch.js +4 -4
- package/packages/datadog-instrumentations/src/fastify.js +142 -82
- package/packages/datadog-instrumentations/src/graphql.js +188 -67
- package/packages/datadog-instrumentations/src/grpc/client.js +48 -32
- package/packages/datadog-instrumentations/src/helpers/ai-messages.js +322 -14
- package/packages/datadog-instrumentations/src/helpers/callback-instrumentor.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/hooks.js +4 -0
- package/packages/datadog-instrumentations/src/helpers/instrument.js +2 -1
- package/packages/datadog-instrumentations/src/helpers/kafka.js +17 -0
- package/packages/datadog-instrumentations/src/helpers/openai-ai-guard.js +269 -0
- package/packages/datadog-instrumentations/src/helpers/promise-instrumentor.js +42 -0
- package/packages/datadog-instrumentations/src/helpers/register.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/rewriter/compiler.js +3 -2
- package/packages/datadog-instrumentations/src/helpers/rewriter/index.js +19 -6
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/azure-cosmos.js +50 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js +2 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/langgraph.js +4 -2
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/playwright.js +85 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/transforms.js +31 -229
- package/packages/datadog-instrumentations/src/hono.js +54 -3
- package/packages/datadog-instrumentations/src/http/client.js +2 -2
- package/packages/datadog-instrumentations/src/http/server.js +9 -4
- package/packages/datadog-instrumentations/src/ioredis.js +3 -3
- package/packages/datadog-instrumentations/src/jest/coverage-backfill.js +163 -0
- package/packages/datadog-instrumentations/src/jest.js +390 -183
- package/packages/datadog-instrumentations/src/kafkajs.js +140 -17
- package/packages/datadog-instrumentations/src/mariadb.js +1 -1
- package/packages/datadog-instrumentations/src/memcached.js +2 -1
- package/packages/datadog-instrumentations/src/mocha/main.js +399 -107
- package/packages/datadog-instrumentations/src/mocha/utils.js +48 -8
- package/packages/datadog-instrumentations/src/mongodb-core.js +1 -1
- package/packages/datadog-instrumentations/src/mongoose.js +10 -12
- package/packages/datadog-instrumentations/src/mysql.js +2 -2
- package/packages/datadog-instrumentations/src/mysql2.js +1 -1
- package/packages/datadog-instrumentations/src/nats.js +182 -0
- package/packages/datadog-instrumentations/src/nyc.js +38 -1
- package/packages/datadog-instrumentations/src/openai.js +33 -18
- package/packages/datadog-instrumentations/src/oracledb.js +6 -1
- package/packages/datadog-instrumentations/src/pg.js +1 -1
- package/packages/datadog-instrumentations/src/pino.js +17 -5
- package/packages/datadog-instrumentations/src/playwright.js +537 -297
- package/packages/datadog-instrumentations/src/router.js +80 -34
- package/packages/datadog-instrumentations/src/stripe.js +1 -1
- package/packages/datadog-instrumentations/src/vitest.js +246 -149
- package/packages/datadog-plugin-avsc/src/schema_iterator.js +1 -1
- package/packages/datadog-plugin-azure-cosmos/src/index.js +144 -0
- package/packages/datadog-plugin-azure-event-hubs/src/producer.js +1 -1
- package/packages/datadog-plugin-azure-functions/src/index.js +5 -2
- package/packages/datadog-plugin-azure-service-bus/src/producer.js +1 -1
- package/packages/datadog-plugin-bunyan/src/index.js +28 -0
- package/packages/datadog-plugin-cucumber/src/index.js +17 -3
- package/packages/datadog-plugin-cypress/src/cypress-plugin.js +223 -45
- package/packages/datadog-plugin-cypress/src/support.js +69 -1
- package/packages/datadog-plugin-dns/src/lookup.js +8 -6
- package/packages/datadog-plugin-elasticsearch/src/index.js +28 -8
- package/packages/datadog-plugin-google-cloud-pubsub/src/pubsub-push-subscription.js +1 -1
- package/packages/datadog-plugin-graphql/src/execute.js +2 -0
- package/packages/datadog-plugin-graphql/src/resolve.js +64 -67
- package/packages/datadog-plugin-graphql/src/utils.js +4 -1
- package/packages/datadog-plugin-http/src/server.js +40 -15
- package/packages/datadog-plugin-jest/src/index.js +11 -3
- package/packages/datadog-plugin-jest/src/util.js +15 -8
- package/packages/datadog-plugin-kafkajs/src/batch-consumer.js +1 -1
- package/packages/datadog-plugin-kafkajs/src/producer.js +35 -0
- package/packages/datadog-plugin-langgraph/src/stream.js +1 -1
- package/packages/datadog-plugin-mocha/src/index.js +19 -4
- package/packages/datadog-plugin-mongodb-core/src/index.js +311 -35
- package/packages/datadog-plugin-nats/src/consumer.js +43 -0
- package/packages/datadog-plugin-nats/src/index.js +20 -0
- package/packages/datadog-plugin-nats/src/producer.js +62 -0
- package/packages/datadog-plugin-nats/src/util.js +33 -0
- package/packages/datadog-plugin-next/src/index.js +5 -3
- package/packages/datadog-plugin-openai/src/tracing.js +15 -2
- package/packages/datadog-plugin-oracledb/src/index.js +13 -2
- package/packages/datadog-plugin-pino/src/index.js +42 -0
- package/packages/datadog-plugin-playwright/src/index.js +4 -4
- package/packages/datadog-plugin-protobufjs/src/schema_iterator.js +1 -1
- package/packages/datadog-plugin-redis/src/index.js +37 -2
- package/packages/datadog-plugin-rhea/src/producer.js +1 -1
- package/packages/datadog-plugin-router/src/index.js +33 -44
- package/packages/datadog-plugin-selenium/src/index.js +1 -1
- package/packages/datadog-plugin-undici/src/index.js +19 -0
- package/packages/datadog-plugin-vitest/src/index.js +24 -20
- package/packages/datadog-plugin-winston/src/index.js +30 -0
- package/packages/datadog-shimmer/src/shimmer.js +49 -21
- package/packages/dd-trace/src/aiguard/index.js +1 -1
- package/packages/dd-trace/src/aiguard/sdk.js +1 -1
- package/packages/dd-trace/src/appsec/api_security_sampler.js +1 -1
- package/packages/dd-trace/src/appsec/blocking.js +2 -2
- package/packages/dd-trace/src/appsec/index.js +11 -4
- package/packages/dd-trace/src/appsec/reporter.js +24 -11
- package/packages/dd-trace/src/appsec/sdk/user_blocking.js +1 -1
- package/packages/dd-trace/src/appsec/sdk/utils.js +1 -1
- package/packages/dd-trace/src/appsec/user_tracking.js +5 -4
- package/packages/dd-trace/src/baggage.js +7 -1
- package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +0 -1
- package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +25 -13
- package/packages/dd-trace/src/ci-visibility/requests/request.js +3 -1
- package/packages/dd-trace/src/ci-visibility/test-api-manual/test-api-manual-plugin.js +5 -3
- package/packages/dd-trace/src/ci-visibility/test-optimization-cache.js +70 -6
- package/packages/dd-trace/src/config/generated-config-types.d.ts +7 -2
- package/packages/dd-trace/src/config/supported-configurations.json +36 -8
- package/packages/dd-trace/src/crashtracking/crashtracker.js +15 -3
- package/packages/dd-trace/src/datastreams/context.js +4 -2
- package/packages/dd-trace/src/datastreams/writer.js +2 -4
- package/packages/dd-trace/src/debugger/devtools_client/condition.js +5 -8
- package/packages/dd-trace/src/encode/0.4.js +124 -108
- package/packages/dd-trace/src/encode/0.5.js +114 -26
- package/packages/dd-trace/src/encode/agentless-ci-visibility.js +57 -42
- package/packages/dd-trace/src/encode/agentless-json.js +4 -2
- package/packages/dd-trace/src/encode/coverage-ci-visibility.js +32 -13
- package/packages/dd-trace/src/encode/span-stats.js +16 -16
- package/packages/dd-trace/src/encode/tags-processors.js +16 -0
- package/packages/dd-trace/src/exporters/common/agents.js +3 -1
- package/packages/dd-trace/src/exporters/common/request.js +3 -1
- package/packages/dd-trace/src/id.js +17 -4
- package/packages/dd-trace/src/lambda/handler.js +2 -4
- package/packages/dd-trace/src/llmobs/plugins/ai/util.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/genai/index.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/index.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/langchain/index.js +9 -7
- package/packages/dd-trace/src/llmobs/plugins/langgraph/index.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/openai/index.js +1 -1
- package/packages/dd-trace/src/llmobs/sdk.js +10 -16
- package/packages/dd-trace/src/llmobs/span_processor.js +3 -3
- package/packages/dd-trace/src/llmobs/tagger.js +9 -1
- package/packages/dd-trace/src/llmobs/telemetry.js +1 -1
- package/packages/dd-trace/src/llmobs/util.js +66 -3
- package/packages/dd-trace/src/log/index.js +1 -1
- package/packages/dd-trace/src/log/writer.js +3 -1
- package/packages/dd-trace/src/msgpack/chunk.js +394 -10
- package/packages/dd-trace/src/msgpack/index.js +96 -2
- package/packages/dd-trace/src/noop/span.js +3 -1
- package/packages/dd-trace/src/openfeature/encoding.js +70 -0
- package/packages/dd-trace/src/openfeature/flagging_provider.js +20 -0
- package/packages/dd-trace/src/openfeature/span-enrichment-hook.js +143 -0
- package/packages/dd-trace/src/openfeature/span-enrichment.js +149 -0
- package/packages/dd-trace/src/openfeature/writers/exposures.js +51 -20
- package/packages/dd-trace/src/opentelemetry/metrics/periodic_metric_reader.js +1 -1
- package/packages/dd-trace/src/opentelemetry/span-helpers.js +4 -3
- package/packages/dd-trace/src/opentelemetry/span.js +1 -1
- package/packages/dd-trace/src/opentracing/propagation/log.js +18 -7
- package/packages/dd-trace/src/opentracing/propagation/text_map.js +62 -67
- package/packages/dd-trace/src/opentracing/span.js +59 -19
- package/packages/dd-trace/src/opentracing/span_context.js +49 -0
- package/packages/dd-trace/src/plugins/apollo.js +3 -1
- package/packages/dd-trace/src/plugins/ci_plugin.js +23 -33
- package/packages/dd-trace/src/plugins/database.js +7 -6
- package/packages/dd-trace/src/plugins/index.js +4 -0
- package/packages/dd-trace/src/plugins/log_injection.js +56 -0
- package/packages/dd-trace/src/plugins/log_plugin.js +3 -46
- package/packages/dd-trace/src/plugins/outbound.js +1 -1
- package/packages/dd-trace/src/plugins/plugin.js +15 -17
- package/packages/dd-trace/src/plugins/tracing.js +48 -8
- package/packages/dd-trace/src/plugins/util/git.js +3 -1
- package/packages/dd-trace/src/plugins/util/test.js +318 -13
- package/packages/dd-trace/src/plugins/util/web.js +89 -64
- package/packages/dd-trace/src/priority_sampler.js +2 -2
- package/packages/dd-trace/src/profiling/profiler.js +2 -2
- package/packages/dd-trace/src/profiling/profilers/wall.js +10 -4
- package/packages/dd-trace/src/sampling_rule.js +7 -7
- package/packages/dd-trace/src/scope.js +7 -5
- package/packages/dd-trace/src/service-naming/extra-services.js +14 -0
- package/packages/dd-trace/src/service-naming/schemas/v0/messaging.js +10 -0
- package/packages/dd-trace/src/service-naming/schemas/v1/messaging.js +8 -0
- package/packages/dd-trace/src/service-naming/source-resolver.js +46 -0
- package/packages/dd-trace/src/span_format.js +190 -58
- package/packages/dd-trace/src/spanleak.js +1 -1
- package/packages/dd-trace/src/standalone/index.js +3 -3
- package/packages/dd-trace/src/tagger.js +0 -2
- package/vendor/dist/@apm-js-collab/code-transformer/index.js +70 -39
- package/vendor/dist/@datadog/sketches-js/LICENSE +10 -36
- package/vendor/dist/@datadog/sketches-js/index.js +1 -1
- package/vendor/dist/protobufjs/index.js +1 -1
- package/vendor/dist/protobufjs/minimal/index.js +1 -1
- package/packages/dd-trace/src/msgpack/encoder.js +0 -308
- package/packages/dd-trace/src/plugins/structured_log_plugin.js +0 -9
- package/vendor/dist/opentracing/LICENSE +0 -201
- package/vendor/dist/opentracing/binary_carrier.d.ts +0 -11
- package/vendor/dist/opentracing/constants.d.ts +0 -61
- package/vendor/dist/opentracing/examples/demo/demo.d.ts +0 -2
- package/vendor/dist/opentracing/ext/tags.d.ts +0 -90
- package/vendor/dist/opentracing/functions.d.ts +0 -20
- package/vendor/dist/opentracing/global_tracer.d.ts +0 -14
- package/vendor/dist/opentracing/index.d.ts +0 -12
- package/vendor/dist/opentracing/index.js +0 -1
- package/vendor/dist/opentracing/mock_tracer/index.d.ts +0 -5
- package/vendor/dist/opentracing/mock_tracer/mock_context.d.ts +0 -13
- package/vendor/dist/opentracing/mock_tracer/mock_report.d.ts +0 -16
- package/vendor/dist/opentracing/mock_tracer/mock_span.d.ts +0 -50
- package/vendor/dist/opentracing/mock_tracer/mock_tracer.d.ts +0 -26
- package/vendor/dist/opentracing/noop.d.ts +0 -8
- package/vendor/dist/opentracing/reference.d.ts +0 -33
- package/vendor/dist/opentracing/span.d.ts +0 -147
- package/vendor/dist/opentracing/span_context.d.ts +0 -26
- package/vendor/dist/opentracing/test/api_compatibility.d.ts +0 -16
- package/vendor/dist/opentracing/test/mocktracer_implemenation.d.ts +0 -3
- package/vendor/dist/opentracing/test/noop_implementation.d.ts +0 -4
- package/vendor/dist/opentracing/test/opentracing_api.d.ts +0 -3
- package/vendor/dist/opentracing/test/unittest.d.ts +0 -2
- package/vendor/dist/opentracing/tracer.d.ts +0 -127
|
@@ -8,7 +8,6 @@ const { getCompileToRegexp } = require('./path-to-regexp')
|
|
|
8
8
|
const {
|
|
9
9
|
getRouterMountPaths,
|
|
10
10
|
joinPath,
|
|
11
|
-
getLayerMatchers,
|
|
12
11
|
setLayerMatchers,
|
|
13
12
|
isAppMounted,
|
|
14
13
|
setRouterMountPath,
|
|
@@ -42,34 +41,47 @@ function createWrapRouterMethod (name, compile) {
|
|
|
42
41
|
const nextChannel = channel(`apm:${name}:middleware:next`)
|
|
43
42
|
const routeAddedChannel = channel(`apm:${name}:route:added`)
|
|
44
43
|
|
|
45
|
-
function wrapLayerHandle (layer, original) {
|
|
46
|
-
|
|
44
|
+
function wrapLayerHandle (layer, original, matchers) {
|
|
45
|
+
// Resolve `name` once at wrap time: cached on the original for any code
|
|
46
|
+
// that reads `_name`, captured in the closure so the per-call body avoids
|
|
47
|
+
// the property-lookup / `||` fallback.
|
|
48
|
+
const name = original._name || layer.name || original.name
|
|
49
|
+
original._name = name
|
|
50
|
+
|
|
51
|
+
// Wrap-time matcher analysis. The single-pattern case yields a constant
|
|
52
|
+
// route; only multi-pattern stacks need a per-request layer.path match.
|
|
53
|
+
let captureRoute
|
|
54
|
+
let needMultiMatch = false
|
|
55
|
+
if (matchers.length !== 0 && !isFastStar(layer, matchers) && !isFastSlash(layer, matchers)) {
|
|
56
|
+
if (matchers.length === 1) {
|
|
57
|
+
captureRoute = matchers[0].path
|
|
58
|
+
} else {
|
|
59
|
+
needMultiMatch = true
|
|
60
|
+
}
|
|
61
|
+
}
|
|
47
62
|
|
|
48
|
-
|
|
49
|
-
|
|
63
|
+
// Split by arity: router only ever dispatches 3-arg request handlers
|
|
64
|
+
// through `Layer.handleRequest` and 4-arg error handlers through
|
|
65
|
+
// `Layer.handleError`. Specialising lets the per-call body use named
|
|
66
|
+
// parameters and `.call`, avoiding the rest-spread Array allocation that
|
|
67
|
+
// the unified shape forced on every middleware invocation.
|
|
68
|
+
return original.length === 4
|
|
69
|
+
? shimmer.wrapFunction(original, errorHandlerLayerWrap(layer, name, captureRoute, needMultiMatch, matchers))
|
|
70
|
+
: shimmer.wrapFunction(original, requestHandlerLayerWrap(layer, name, captureRoute, needMultiMatch, matchers))
|
|
71
|
+
}
|
|
50
72
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const req = args[args.length > 3 ? 1 : 0]
|
|
55
|
-
const next = args[lastIndex]
|
|
73
|
+
function requestHandlerLayerWrap (layer, name, captureRoute, needMultiMatch, matchers) {
|
|
74
|
+
return original => function (req, res, next) {
|
|
75
|
+
if (!enterChannel.hasSubscribers) return original.call(this, req, res, next)
|
|
56
76
|
|
|
57
|
-
|
|
58
|
-
args[lastIndex] = wrapNext(req, next)
|
|
59
|
-
}
|
|
77
|
+
const wrappedNext = typeof next === 'function' ? wrapNext(req, next) : next
|
|
60
78
|
|
|
61
|
-
let route
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
} else {
|
|
68
|
-
for (const matcher of matchers) {
|
|
69
|
-
if (matcher.regex?.test(layer.path)) {
|
|
70
|
-
route = matcher.path
|
|
71
|
-
break
|
|
72
|
-
}
|
|
79
|
+
let route = captureRoute
|
|
80
|
+
if (needMultiMatch) {
|
|
81
|
+
for (const matcher of matchers) {
|
|
82
|
+
if (matcher.regex?.test(layer.path)) {
|
|
83
|
+
route = matcher.path
|
|
84
|
+
break
|
|
73
85
|
}
|
|
74
86
|
}
|
|
75
87
|
}
|
|
@@ -77,7 +89,7 @@ function createWrapRouterMethod (name, compile) {
|
|
|
77
89
|
enterChannel.publish({ name, req, route, layer })
|
|
78
90
|
|
|
79
91
|
try {
|
|
80
|
-
return original.
|
|
92
|
+
return original.call(this, req, res, wrappedNext)
|
|
81
93
|
} catch (error) {
|
|
82
94
|
errorChannel.publish({ req, error })
|
|
83
95
|
nextChannel.publish({ req })
|
|
@@ -87,15 +99,47 @@ function createWrapRouterMethod (name, compile) {
|
|
|
87
99
|
} finally {
|
|
88
100
|
exitChannel.publish({ req })
|
|
89
101
|
}
|
|
90
|
-
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
function errorHandlerLayerWrap (layer, name, captureRoute, needMultiMatch, matchers) {
|
|
106
|
+
return original => function (error, req, res, next) {
|
|
107
|
+
if (!enterChannel.hasSubscribers) return original.call(this, error, req, res, next)
|
|
108
|
+
|
|
109
|
+
const wrappedNext = typeof next === 'function' ? wrapNext(req, next) : next
|
|
110
|
+
|
|
111
|
+
let route = captureRoute
|
|
112
|
+
if (needMultiMatch) {
|
|
113
|
+
for (const matcher of matchers) {
|
|
114
|
+
if (matcher.regex?.test(layer.path)) {
|
|
115
|
+
route = matcher.path
|
|
116
|
+
break
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
enterChannel.publish({ name, req, route, layer })
|
|
122
|
+
|
|
123
|
+
try {
|
|
124
|
+
return original.call(this, error, req, res, wrappedNext)
|
|
125
|
+
} catch (caught) {
|
|
126
|
+
errorChannel.publish({ req, error: caught })
|
|
127
|
+
nextChannel.publish({ req })
|
|
128
|
+
finishChannel.publish({ req })
|
|
129
|
+
|
|
130
|
+
throw caught
|
|
131
|
+
} finally {
|
|
132
|
+
exitChannel.publish({ req })
|
|
133
|
+
}
|
|
134
|
+
}
|
|
91
135
|
}
|
|
92
136
|
|
|
93
137
|
function wrapStack (layers, matchers) {
|
|
94
138
|
for (const layer of layers) {
|
|
95
139
|
if (layer.__handle) { // express-async-errors
|
|
96
|
-
layer.__handle = wrapLayerHandle(layer, layer.__handle)
|
|
140
|
+
layer.__handle = wrapLayerHandle(layer, layer.__handle, matchers)
|
|
97
141
|
} else {
|
|
98
|
-
layer.handle = wrapLayerHandle(layer, layer.handle)
|
|
142
|
+
layer.handle = wrapLayerHandle(layer, layer.handle, matchers)
|
|
99
143
|
}
|
|
100
144
|
|
|
101
145
|
setLayerMatchers(layer, matchers)
|
|
@@ -112,8 +156,10 @@ function createWrapRouterMethod (name, compile) {
|
|
|
112
156
|
}
|
|
113
157
|
}
|
|
114
158
|
|
|
115
|
-
function wrapNext (req,
|
|
116
|
-
|
|
159
|
+
function wrapNext (req, originalNext) {
|
|
160
|
+
// Per layer dispatch, N per request. `shimmer.wrapCallback` preserves
|
|
161
|
+
// only `name` + `length`; see its JSDoc for the full contract.
|
|
162
|
+
return shimmer.wrapCallback(originalNext, next => function (error) {
|
|
117
163
|
if (error && error !== 'route' && error !== 'router') {
|
|
118
164
|
errorChannel.publish({ req, error })
|
|
119
165
|
}
|
|
@@ -256,15 +302,15 @@ addHook({ name: 'router', versions: ['>=2'] }, Router => {
|
|
|
256
302
|
|
|
257
303
|
shimmer.wrap(router, 'handle', function wrapHandle (originalHandle) {
|
|
258
304
|
return function wrappedHandle (req, res, next) {
|
|
259
|
-
const abortController = new AbortController()
|
|
260
|
-
|
|
261
305
|
if (queryParserReadCh.hasSubscribers && req) {
|
|
306
|
+
const abortController = new AbortController()
|
|
307
|
+
|
|
262
308
|
queryParserReadCh.publish({ req, res, query: req.query, abortController })
|
|
263
309
|
|
|
264
310
|
if (abortController.signal.aborted) return
|
|
265
311
|
}
|
|
266
312
|
|
|
267
|
-
return originalHandle.
|
|
313
|
+
return originalHandle.call(this, req, res, next)
|
|
268
314
|
}
|
|
269
315
|
})
|
|
270
316
|
|
|
@@ -97,7 +97,7 @@ function wrapStripe (Stripe) {
|
|
|
97
97
|
|
|
98
98
|
addHook({
|
|
99
99
|
name: 'stripe',
|
|
100
|
-
versions: ['9
|
|
100
|
+
versions: ['>=9 <22'],
|
|
101
101
|
}, Stripe => shimmer.wrapFunction(Stripe, wrapLegacyStripe))
|
|
102
102
|
|
|
103
103
|
addHook({
|