@openreplay/tracker 8.0.0 → 8.0.1-beta14

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 (100) hide show
  1. package/cjs/app/index.d.ts +4 -1
  2. package/cjs/app/index.js +18 -2
  3. package/cjs/app/session.d.ts +10 -0
  4. package/cjs/app/session.js +3 -0
  5. package/cjs/index.d.ts +11 -0
  6. package/cjs/index.js +28 -1
  7. package/cjs/modules/Network/fetchProxy.d.ts +34 -0
  8. package/cjs/modules/Network/fetchProxy.js +240 -0
  9. package/cjs/modules/Network/index.d.ts +3 -0
  10. package/cjs/modules/Network/index.js +9 -0
  11. package/cjs/modules/Network/networkMessage.d.ts +49 -0
  12. package/cjs/modules/Network/networkMessage.js +82 -0
  13. package/cjs/modules/Network/types.d.ts +13 -0
  14. package/cjs/modules/Network/types.js +3 -0
  15. package/cjs/modules/Network/utils.d.ts +11 -0
  16. package/cjs/modules/Network/utils.js +213 -0
  17. package/cjs/modules/Network/xhrProxy.d.ts +47 -0
  18. package/cjs/modules/Network/xhrProxy.js +209 -0
  19. package/cjs/modules/console.js +21 -13
  20. package/cjs/modules/featureFlags.d.ts +25 -0
  21. package/cjs/modules/featureFlags.js +100 -0
  22. package/cjs/modules/network.d.ts +3 -4
  23. package/cjs/modules/network.js +13 -3
  24. package/coverage/clover.xml +898 -449
  25. package/coverage/coverage-final.json +13 -8
  26. package/coverage/lcov-report/index.html +50 -35
  27. package/coverage/lcov-report/main/app/guards.ts.html +1 -1
  28. package/coverage/lcov-report/main/app/index.html +21 -21
  29. package/coverage/lcov-report/main/app/index.ts.html +46 -4
  30. package/coverage/lcov-report/main/app/logger.ts.html +1 -1
  31. package/coverage/lcov-report/main/app/messages.gen.ts.html +146 -146
  32. package/coverage/lcov-report/main/app/observer/iframe_observer.ts.html +1 -1
  33. package/coverage/lcov-report/main/app/observer/iframe_offsets.ts.html +1 -1
  34. package/coverage/lcov-report/main/app/observer/index.html +1 -1
  35. package/coverage/lcov-report/main/app/observer/shadow_root_observer.ts.html +1 -1
  36. package/coverage/lcov-report/main/app/observer/top_observer.ts.html +1 -1
  37. package/coverage/lcov-report/main/app/sanitizer.ts.html +1 -1
  38. package/coverage/lcov-report/main/app/session.ts.html +47 -5
  39. package/coverage/lcov-report/main/app/ticker.ts.html +1 -1
  40. package/coverage/lcov-report/main/index.html +20 -20
  41. package/coverage/lcov-report/main/index.ts.html +38 -26
  42. package/coverage/lcov-report/main/modules/Network/fetchProxy.ts.html +949 -0
  43. package/coverage/lcov-report/main/modules/Network/index.html +176 -0
  44. package/coverage/lcov-report/main/modules/Network/index.ts.html +169 -0
  45. package/coverage/lcov-report/main/modules/Network/networkMessage.ts.html +382 -0
  46. package/coverage/lcov-report/main/modules/Network/utils.ts.html +700 -0
  47. package/coverage/lcov-report/main/modules/Network/xhrProxy.ts.html +823 -0
  48. package/coverage/lcov-report/main/modules/attributeSender.ts.html +1 -1
  49. package/coverage/lcov-report/main/modules/axiosSpy.ts.html +1 -1
  50. package/coverage/lcov-report/main/modules/connection.ts.html +1 -1
  51. package/coverage/lcov-report/main/modules/console.ts.html +174 -147
  52. package/coverage/lcov-report/main/modules/constructedStyleSheets.ts.html +1 -1
  53. package/coverage/lcov-report/main/modules/cssrules.ts.html +1 -1
  54. package/coverage/lcov-report/main/modules/exception.ts.html +1 -1
  55. package/coverage/lcov-report/main/modules/featureFlags.ts.html +102 -51
  56. package/coverage/lcov-report/main/modules/focus.ts.html +1 -1
  57. package/coverage/lcov-report/main/modules/fonts.ts.html +1 -1
  58. package/coverage/lcov-report/main/modules/img.ts.html +1 -1
  59. package/coverage/lcov-report/main/modules/index.html +33 -33
  60. package/coverage/lcov-report/main/modules/input.ts.html +1 -1
  61. package/coverage/lcov-report/main/modules/mouse.ts.html +1 -1
  62. package/coverage/lcov-report/main/modules/network.ts.html +70 -70
  63. package/coverage/lcov-report/main/modules/performance.ts.html +1 -1
  64. package/coverage/lcov-report/main/modules/scroll.ts.html +1 -1
  65. package/coverage/lcov-report/main/modules/selection.ts.html +1 -1
  66. package/coverage/lcov-report/main/modules/tabs.ts.html +1 -1
  67. package/coverage/lcov-report/main/modules/timing.ts.html +1 -1
  68. package/coverage/lcov-report/main/modules/viewport.ts.html +1 -1
  69. package/coverage/lcov-report/main/utils.ts.html +45 -45
  70. package/coverage/lcov-report/webworker/BatchWriter.ts.html +1 -1
  71. package/coverage/lcov-report/webworker/MessageEncoder.gen.ts.html +1 -1
  72. package/coverage/lcov-report/webworker/PrimitiveEncoder.ts.html +1 -1
  73. package/coverage/lcov-report/webworker/QueueSender.ts.html +1 -1
  74. package/coverage/lcov-report/webworker/index.html +1 -1
  75. package/coverage/lcov-report/webworker/index.ts.html +1 -1
  76. package/coverage/lcov.info +1558 -726
  77. package/lib/app/index.d.ts +4 -1
  78. package/lib/app/index.js +18 -2
  79. package/lib/app/session.d.ts +10 -0
  80. package/lib/app/session.js +3 -0
  81. package/lib/index.d.ts +11 -0
  82. package/lib/index.js +28 -1
  83. package/lib/modules/Network/fetchProxy.d.ts +34 -0
  84. package/lib/modules/Network/fetchProxy.js +234 -0
  85. package/lib/modules/Network/index.d.ts +3 -0
  86. package/lib/modules/Network/index.js +6 -0
  87. package/lib/modules/Network/networkMessage.d.ts +49 -0
  88. package/lib/modules/Network/networkMessage.js +78 -0
  89. package/lib/modules/Network/types.d.ts +13 -0
  90. package/lib/modules/Network/types.js +2 -0
  91. package/lib/modules/Network/utils.d.ts +11 -0
  92. package/lib/modules/Network/utils.js +201 -0
  93. package/lib/modules/Network/xhrProxy.d.ts +47 -0
  94. package/lib/modules/Network/xhrProxy.js +204 -0
  95. package/lib/modules/console.js +21 -13
  96. package/lib/modules/featureFlags.d.ts +25 -0
  97. package/lib/modules/featureFlags.js +97 -0
  98. package/lib/modules/network.d.ts +3 -4
  99. package/lib/modules/network.js +13 -3
  100. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import { NetworkRequest } from '../app/messages.gen.js';
2
2
  import { getTimeOrigin } from '../utils.js';
3
3
  import axiosSpy from './axiosSpy.js';
4
+ import setProxy from './Network/index.js';
4
5
  function getXHRRequestDataObject(xhr) {
5
6
  // @ts-ignore this is 3x faster than using Map<XHR, XHRRequestData>
6
7
  if (!xhr.__or_req_data__) {
@@ -21,6 +22,7 @@ export default function (app, opts = {}) {
21
22
  sessionTokenHeader: false,
22
23
  captureInIframes: true,
23
24
  axiosInstances: undefined,
25
+ useProxy: true,
24
26
  }, opts);
25
27
  const ignoreHeaders = options.ignoreHeaders;
26
28
  const isHIgnored = Array.isArray(ignoreHeaders)
@@ -37,13 +39,14 @@ export default function (app, opts = {}) {
37
39
  }
38
40
  function sanitize(reqResInfo) {
39
41
  if (!options.capturePayload) {
42
+ // @ts-ignore
40
43
  delete reqResInfo.request.body;
41
44
  delete reqResInfo.response.body;
42
45
  }
43
46
  if (options.sanitizer) {
44
47
  const resBody = reqResInfo.response.body;
45
48
  if (typeof resBody === 'string') {
46
- // Parse response in order to have handy view in sanitisation function
49
+ // Parse response in order to have handy view in sanitization function
47
50
  try {
48
51
  reqResInfo.response.body = JSON.parse(resBody);
49
52
  }
@@ -66,6 +69,10 @@ export default function (app, opts = {}) {
66
69
  return JSON.stringify(r);
67
70
  }
68
71
  const patchWindow = (context) => {
72
+ /* ====== modern way ====== */
73
+ if (options.useProxy) {
74
+ return setProxy(context, options.ignoreHeaders, setSessionTokenHeader, sanitize, (message) => app.send(message), (url) => app.isServiceURL(url));
75
+ }
69
76
  /* ====== Fetch ====== */
70
77
  const origFetch = context.fetch.bind(context);
71
78
  const trackFetch = (input, init = {}) => {
@@ -126,7 +133,8 @@ export default function (app, opts = {}) {
126
133
  status: r.status,
127
134
  request: {
128
135
  headers: reqHs,
129
- body: init.body,
136
+ // @ts-ignore
137
+ body: init.body || null,
130
138
  },
131
139
  response: {
132
140
  headers: resHs,
@@ -136,6 +144,7 @@ export default function (app, opts = {}) {
136
144
  if (!reqResInfo) {
137
145
  return;
138
146
  }
147
+ console.log('original', NetworkRequest('fetch', method, String(reqResInfo.url), stringify(reqResInfo.request), stringify(reqResInfo.response), r.status, startTime + getTimeOrigin(), duration));
139
148
  app.send(NetworkRequest('fetch', method, String(reqResInfo.url), stringify(reqResInfo.request), stringify(reqResInfo.response), r.status, startTime + getTimeOrigin(), duration));
140
149
  })
141
150
  .catch((e) => app.debug.error('Could not process Fetch response:', e));
@@ -175,7 +184,8 @@ export default function (app, opts = {}) {
175
184
  status: xhr.status,
176
185
  request: {
177
186
  headers: reqHs,
178
- body: reqBody,
187
+ // @ts-ignore
188
+ body: reqBody || null,
179
189
  },
180
190
  response: {
181
191
  headers: headerMap,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@openreplay/tracker",
3
3
  "description": "The OpenReplay tracker main package",
4
- "version": "8.0.0",
4
+ "version": "8.0.1-beta14",
5
5
  "keywords": [
6
6
  "logging",
7
7
  "replay"