dd-trace 2.31.0 → 2.33.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.
Files changed (38) hide show
  1. package/package.json +6 -6
  2. package/packages/datadog-instrumentations/src/body-parser.js +15 -9
  3. package/packages/datadog-instrumentations/src/express.js +32 -0
  4. package/packages/datadog-instrumentations/src/http/server.js +2 -1
  5. package/packages/datadog-instrumentations/src/mocha.js +8 -4
  6. package/packages/datadog-instrumentations/src/pg.js +3 -4
  7. package/packages/datadog-instrumentations/src/playwright.js +14 -1
  8. package/packages/datadog-plugin-http/src/server.js +2 -2
  9. package/packages/datadog-plugin-http2/src/server.js +0 -5
  10. package/packages/datadog-plugin-kafkajs/src/consumer.js +2 -0
  11. package/packages/datadog-plugin-pg/src/index.js +5 -5
  12. package/packages/dd-trace/src/appsec/addresses.js +0 -3
  13. package/packages/dd-trace/src/appsec/blocked_templates.js +2 -9
  14. package/packages/dd-trace/src/appsec/blocking.js +1 -1
  15. package/packages/dd-trace/src/appsec/{gateway/channels.js → channels.js} +4 -4
  16. package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +1 -1
  17. package/packages/dd-trace/src/appsec/index.js +87 -79
  18. package/packages/dd-trace/src/appsec/recommended.json +448 -121
  19. package/packages/dd-trace/src/appsec/remote_config/apply_states.js +7 -0
  20. package/packages/dd-trace/src/appsec/remote_config/capabilities.js +2 -0
  21. package/packages/dd-trace/src/appsec/remote_config/index.js +29 -10
  22. package/packages/dd-trace/src/appsec/remote_config/manager.js +33 -12
  23. package/packages/dd-trace/src/appsec/reporter.js +27 -58
  24. package/packages/dd-trace/src/appsec/rule_manager.js +160 -32
  25. package/packages/dd-trace/src/appsec/sdk/user_blocking.js +4 -12
  26. package/packages/dd-trace/src/appsec/waf/index.js +75 -0
  27. package/packages/dd-trace/src/appsec/waf/waf_context_wrapper.js +57 -0
  28. package/packages/dd-trace/src/appsec/waf/waf_manager.js +66 -0
  29. package/packages/dd-trace/src/encode/0.4.js +12 -4
  30. package/packages/dd-trace/src/encode/agentless-ci-visibility.js +14 -4
  31. package/packages/dd-trace/src/plugins/util/test.js +34 -17
  32. package/packages/dd-trace/src/telemetry/send-data.js +13 -3
  33. package/packages/dd-trace/src/appsec/callbacks/ddwaf.js +0 -137
  34. package/packages/dd-trace/src/appsec/callbacks/index.js +0 -7
  35. package/packages/dd-trace/src/appsec/gateway/als.js +0 -6
  36. package/packages/dd-trace/src/appsec/gateway/engine/engine.js +0 -140
  37. package/packages/dd-trace/src/appsec/gateway/engine/index.js +0 -51
  38. package/packages/dd-trace/src/appsec/gateway/engine/runner.js +0 -42
@@ -1,42 +0,0 @@
1
- 'use strict'
2
-
3
- const als = require('../als')
4
- const log = require('../../../log')
5
-
6
- let lock = false // lock to prevent recursive calls to runSubscriptions
7
-
8
- function runSubscriptions (subscriptions, params) {
9
- const results = []
10
-
11
- if (lock || !subscriptions.size) return results
12
- lock = true
13
-
14
- const store = als.getStore()
15
-
16
- // TODO: possible optimization
17
- // can we deduplicate those before ?
18
- const executedCallbacks = new Set()
19
-
20
- for (const subscription of subscriptions) {
21
- if (executedCallbacks.has(subscription.callback)) continue
22
- executedCallbacks.add(subscription.callback)
23
-
24
- let result
25
-
26
- try {
27
- result = subscription.callback.method(params, store)
28
- } catch (err) {
29
- log.warn(`Error running subscription ${err}`)
30
- }
31
-
32
- results.push(result)
33
- }
34
-
35
- lock = false
36
-
37
- return results
38
- }
39
-
40
- module.exports = {
41
- runSubscriptions
42
- }