@azure/monitor-opentelemetry 1.11.1 → 1.12.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 (179) hide show
  1. package/README.md +9 -9
  2. package/dist/commonjs/browserSdkLoader/browserSdkLoader.js +16 -17
  3. package/dist/commonjs/browserSdkLoader/browserSdkLoader.js.map +1 -1
  4. package/dist/commonjs/browserSdkLoader/browserSdkLoaderHelper.d.ts +1 -1
  5. package/dist/commonjs/browserSdkLoader/browserSdkLoaderHelper.d.ts.map +1 -1
  6. package/dist/commonjs/browserSdkLoader/browserSdkLoaderHelper.js.map +1 -1
  7. package/dist/commonjs/generated/models/mappers.js +39 -17
  8. package/dist/commonjs/generated/models/mappers.js.map +1 -1
  9. package/dist/commonjs/generated/quickpulseClient.js +8 -3
  10. package/dist/commonjs/generated/quickpulseClient.js.map +1 -1
  11. package/dist/commonjs/index.d.ts.map +1 -1
  12. package/dist/commonjs/index.js +15 -14
  13. package/dist/commonjs/index.js.map +1 -1
  14. package/dist/commonjs/logs/batchLogRecordProcessor.js +1 -0
  15. package/dist/commonjs/logs/batchLogRecordProcessor.js.map +1 -1
  16. package/dist/commonjs/logs/handler.js +16 -5
  17. package/dist/commonjs/logs/handler.js.map +1 -1
  18. package/dist/commonjs/logs/logRecordProcessor.js +1 -0
  19. package/dist/commonjs/logs/logRecordProcessor.js.map +1 -1
  20. package/dist/commonjs/metrics/handler.d.ts +1 -4
  21. package/dist/commonjs/metrics/handler.d.ts.map +1 -1
  22. package/dist/commonjs/metrics/handler.js +27 -25
  23. package/dist/commonjs/metrics/handler.js.map +1 -1
  24. package/dist/commonjs/metrics/performanceCounters.js +47 -23
  25. package/dist/commonjs/metrics/performanceCounters.js.map +1 -1
  26. package/dist/commonjs/metrics/quickpulse/export/exporter.js +8 -0
  27. package/dist/commonjs/metrics/quickpulse/export/exporter.js.map +1 -1
  28. package/dist/commonjs/metrics/quickpulse/export/sender.js +4 -0
  29. package/dist/commonjs/metrics/quickpulse/export/sender.js.map +1 -1
  30. package/dist/commonjs/metrics/quickpulse/filtering/collectionConfigurationErrorTracker.js +12 -12
  31. package/dist/commonjs/metrics/quickpulse/filtering/collectionConfigurationErrorTracker.js.map +1 -1
  32. package/dist/commonjs/metrics/quickpulse/filtering/projection.js +4 -0
  33. package/dist/commonjs/metrics/quickpulse/filtering/projection.js.map +1 -1
  34. package/dist/commonjs/metrics/quickpulse/liveMetrics.d.ts.map +1 -1
  35. package/dist/commonjs/metrics/quickpulse/liveMetrics.js +70 -53
  36. package/dist/commonjs/metrics/quickpulse/liveMetrics.js.map +1 -1
  37. package/dist/commonjs/metrics/quickpulse/types.d.ts +1 -1
  38. package/dist/commonjs/metrics/quickpulse/utils.d.ts.map +1 -1
  39. package/dist/commonjs/metrics/quickpulse/utils.js +9 -5
  40. package/dist/commonjs/metrics/quickpulse/utils.js.map +1 -1
  41. package/dist/commonjs/metrics/standardMetrics.js +11 -2
  42. package/dist/commonjs/metrics/standardMetrics.js.map +1 -1
  43. package/dist/commonjs/metrics/utils.d.ts.map +1 -1
  44. package/dist/commonjs/metrics/utils.js +11 -12
  45. package/dist/commonjs/metrics/utils.js.map +1 -1
  46. package/dist/commonjs/shared/config.d.ts +14 -1
  47. package/dist/commonjs/shared/config.d.ts.map +1 -1
  48. package/dist/commonjs/shared/config.js +82 -7
  49. package/dist/commonjs/shared/config.js.map +1 -1
  50. package/dist/commonjs/shared/envConfig.d.ts +19 -0
  51. package/dist/commonjs/shared/envConfig.d.ts.map +1 -0
  52. package/dist/commonjs/shared/envConfig.js +57 -0
  53. package/dist/commonjs/shared/envConfig.js.map +1 -0
  54. package/dist/commonjs/shared/jsonConfig.d.ts +2 -0
  55. package/dist/commonjs/shared/jsonConfig.d.ts.map +1 -1
  56. package/dist/commonjs/shared/jsonConfig.js +29 -7
  57. package/dist/commonjs/shared/jsonConfig.js.map +1 -1
  58. package/dist/commonjs/shared/logging/diagFileConsoleLogger.d.ts +5 -0
  59. package/dist/commonjs/shared/logging/diagFileConsoleLogger.d.ts.map +1 -1
  60. package/dist/commonjs/shared/logging/diagFileConsoleLogger.js +71 -18
  61. package/dist/commonjs/shared/logging/diagFileConsoleLogger.js.map +1 -1
  62. package/dist/commonjs/shared/logging/logger.js +6 -0
  63. package/dist/commonjs/shared/logging/logger.js.map +1 -1
  64. package/dist/commonjs/traces/azureFnHook.js +2 -0
  65. package/dist/commonjs/traces/azureFnHook.js.map +1 -1
  66. package/dist/commonjs/traces/handler.d.ts +3 -3
  67. package/dist/commonjs/traces/handler.d.ts.map +1 -1
  68. package/dist/commonjs/traces/handler.js +25 -10
  69. package/dist/commonjs/traces/handler.js.map +1 -1
  70. package/dist/commonjs/traces/sampler.js +2 -0
  71. package/dist/commonjs/traces/sampler.js.map +1 -1
  72. package/dist/commonjs/traces/spanProcessor.js +1 -0
  73. package/dist/commonjs/traces/spanProcessor.js.map +1 -1
  74. package/dist/commonjs/tsdoc-metadata.json +11 -11
  75. package/dist/commonjs/types.d.ts +14 -2
  76. package/dist/commonjs/types.d.ts.map +1 -1
  77. package/dist/commonjs/types.js +6 -1
  78. package/dist/commonjs/types.js.map +1 -1
  79. package/dist/commonjs/utils/common.d.ts +1 -1
  80. package/dist/commonjs/utils/common.d.ts.map +1 -1
  81. package/dist/commonjs/utils/common.js +1 -2
  82. package/dist/commonjs/utils/common.js.map +1 -1
  83. package/dist/commonjs/utils/connectionStringParser.js +3 -3
  84. package/dist/commonjs/utils/connectionStringParser.js.map +1 -1
  85. package/dist/commonjs/utils/fileSystem.d.ts +1 -1
  86. package/dist/commonjs/utils/fileSystem.d.ts.map +1 -1
  87. package/dist/commonjs/utils/fileSystem.js +14 -14
  88. package/dist/commonjs/utils/fileSystem.js.map +1 -1
  89. package/dist/commonjs/utils/statsbeat.js +94 -61
  90. package/dist/commonjs/utils/statsbeat.js.map +1 -1
  91. package/dist/esm/browserSdkLoader/browserSdkLoader.js +16 -17
  92. package/dist/esm/browserSdkLoader/browserSdkLoader.js.map +1 -1
  93. package/dist/esm/browserSdkLoader/browserSdkLoaderHelper.d.ts +1 -1
  94. package/dist/esm/browserSdkLoader/browserSdkLoaderHelper.d.ts.map +1 -1
  95. package/dist/esm/browserSdkLoader/browserSdkLoaderHelper.js.map +1 -1
  96. package/dist/esm/generated/models/mappers.js +39 -17
  97. package/dist/esm/generated/models/mappers.js.map +1 -1
  98. package/dist/esm/generated/quickpulseClient.js +8 -3
  99. package/dist/esm/generated/quickpulseClient.js.map +1 -1
  100. package/dist/esm/index.d.ts.map +1 -1
  101. package/dist/esm/index.js +16 -15
  102. package/dist/esm/index.js.map +1 -1
  103. package/dist/esm/logs/batchLogRecordProcessor.js +1 -0
  104. package/dist/esm/logs/batchLogRecordProcessor.js.map +1 -1
  105. package/dist/esm/logs/handler.js +16 -5
  106. package/dist/esm/logs/handler.js.map +1 -1
  107. package/dist/esm/logs/logRecordProcessor.js +1 -0
  108. package/dist/esm/logs/logRecordProcessor.js.map +1 -1
  109. package/dist/esm/metrics/handler.d.ts +1 -4
  110. package/dist/esm/metrics/handler.d.ts.map +1 -1
  111. package/dist/esm/metrics/handler.js +27 -25
  112. package/dist/esm/metrics/handler.js.map +1 -1
  113. package/dist/esm/metrics/performanceCounters.js +33 -9
  114. package/dist/esm/metrics/performanceCounters.js.map +1 -1
  115. package/dist/esm/metrics/quickpulse/export/exporter.js +8 -0
  116. package/dist/esm/metrics/quickpulse/export/exporter.js.map +1 -1
  117. package/dist/esm/metrics/quickpulse/export/sender.js +4 -0
  118. package/dist/esm/metrics/quickpulse/export/sender.js.map +1 -1
  119. package/dist/esm/metrics/quickpulse/filtering/collectionConfigurationErrorTracker.js +12 -12
  120. package/dist/esm/metrics/quickpulse/filtering/collectionConfigurationErrorTracker.js.map +1 -1
  121. package/dist/esm/metrics/quickpulse/filtering/projection.js +4 -0
  122. package/dist/esm/metrics/quickpulse/filtering/projection.js.map +1 -1
  123. package/dist/esm/metrics/quickpulse/liveMetrics.d.ts.map +1 -1
  124. package/dist/esm/metrics/quickpulse/liveMetrics.js +69 -52
  125. package/dist/esm/metrics/quickpulse/liveMetrics.js.map +1 -1
  126. package/dist/esm/metrics/quickpulse/types.d.ts +1 -1
  127. package/dist/esm/metrics/quickpulse/utils.d.ts.map +1 -1
  128. package/dist/esm/metrics/quickpulse/utils.js +9 -5
  129. package/dist/esm/metrics/quickpulse/utils.js.map +1 -1
  130. package/dist/esm/metrics/standardMetrics.js +11 -2
  131. package/dist/esm/metrics/standardMetrics.js.map +1 -1
  132. package/dist/esm/metrics/utils.d.ts.map +1 -1
  133. package/dist/esm/metrics/utils.js +4 -5
  134. package/dist/esm/metrics/utils.js.map +1 -1
  135. package/dist/esm/shared/config.d.ts +14 -1
  136. package/dist/esm/shared/config.d.ts.map +1 -1
  137. package/dist/esm/shared/config.js +82 -7
  138. package/dist/esm/shared/config.js.map +1 -1
  139. package/dist/esm/shared/envConfig.d.ts +19 -0
  140. package/dist/esm/shared/envConfig.d.ts.map +1 -0
  141. package/dist/esm/shared/envConfig.js +53 -0
  142. package/dist/esm/shared/envConfig.js.map +1 -0
  143. package/dist/esm/shared/jsonConfig.d.ts +2 -0
  144. package/dist/esm/shared/jsonConfig.d.ts.map +1 -1
  145. package/dist/esm/shared/jsonConfig.js +24 -2
  146. package/dist/esm/shared/jsonConfig.js.map +1 -1
  147. package/dist/esm/shared/logging/diagFileConsoleLogger.d.ts +5 -0
  148. package/dist/esm/shared/logging/diagFileConsoleLogger.d.ts.map +1 -1
  149. package/dist/esm/shared/logging/diagFileConsoleLogger.js +63 -10
  150. package/dist/esm/shared/logging/diagFileConsoleLogger.js.map +1 -1
  151. package/dist/esm/shared/logging/logger.js +6 -0
  152. package/dist/esm/shared/logging/logger.js.map +1 -1
  153. package/dist/esm/traces/azureFnHook.js +2 -0
  154. package/dist/esm/traces/azureFnHook.js.map +1 -1
  155. package/dist/esm/traces/handler.d.ts +3 -3
  156. package/dist/esm/traces/handler.d.ts.map +1 -1
  157. package/dist/esm/traces/handler.js +26 -11
  158. package/dist/esm/traces/handler.js.map +1 -1
  159. package/dist/esm/traces/sampler.js +2 -0
  160. package/dist/esm/traces/sampler.js.map +1 -1
  161. package/dist/esm/traces/spanProcessor.js +1 -0
  162. package/dist/esm/traces/spanProcessor.js.map +1 -1
  163. package/dist/esm/types.d.ts +14 -2
  164. package/dist/esm/types.d.ts.map +1 -1
  165. package/dist/esm/types.js +6 -1
  166. package/dist/esm/types.js.map +1 -1
  167. package/dist/esm/utils/common.d.ts +1 -1
  168. package/dist/esm/utils/common.d.ts.map +1 -1
  169. package/dist/esm/utils/common.js +1 -2
  170. package/dist/esm/utils/common.js.map +1 -1
  171. package/dist/esm/utils/connectionStringParser.js +3 -3
  172. package/dist/esm/utils/connectionStringParser.js.map +1 -1
  173. package/dist/esm/utils/fileSystem.d.ts +1 -1
  174. package/dist/esm/utils/fileSystem.d.ts.map +1 -1
  175. package/dist/esm/utils/fileSystem.js +2 -2
  176. package/dist/esm/utils/fileSystem.js.map +1 -1
  177. package/dist/esm/utils/statsbeat.js +94 -61
  178. package/dist/esm/utils/statsbeat.js.map +1 -1
  179. package/package.json +7 -7
package/README.md CHANGED
@@ -201,11 +201,11 @@ The following OpenTelemetry Instrumentation libraries are included as part of Az
201
201
  ### Distributed Tracing
202
202
 
203
203
  - [HTTP/HTTPS](https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-http)
204
- - [MongoDB](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-mongodb)
205
- - [MySQL](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-mysql)
206
- - [Postgres](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-pg)
207
- - [Redis](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-redis)
208
- - [Redis-4](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-redis-4)
204
+ - [MongoDB](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-mongodb)
205
+ - [MySQL](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-mysql)
206
+ - [Postgres](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-pg)
207
+ - [Redis](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-redis)
208
+ - [Redis-4](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-redis-4)
209
209
  - [Azure SDK](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/instrumentation/opentelemetry-instrumentation-azure-sdk)
210
210
 
211
211
  ### Metrics
@@ -214,11 +214,11 @@ The following OpenTelemetry Instrumentation libraries are included as part of Az
214
214
 
215
215
  ### Logs
216
216
 
217
- - [Bunyan](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-bunyan)
217
+ - [Bunyan](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-bunyan)
218
218
 
219
- - [Winston](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-winston)
219
+ - [Winston](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-winston)
220
220
 
221
- Other OpenTelemetry Instrumentations are available [here](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node) and could be added using TracerProvider in AzureMonitorOpenTelemetryClient.
221
+ Other OpenTelemetry Instrumentations are available [here](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages) and could be added using TracerProvider in AzureMonitorOpenTelemetryClient.
222
222
 
223
223
  ```ts snippet:ReadmeSampleCustomInstrumentation
224
224
  import { useAzureMonitor } from "@azure/monitor-opentelemetry";
@@ -452,7 +452,7 @@ You may want to collect metrics beyond what is collected by [instrumentation lib
452
452
 
453
453
  The OpenTelemetry API offers six metric "instruments" to cover a variety of metric scenarios and you'll need to pick the correct "Aggregation Type" when visualizing metrics in Metrics Explorer. This requirement is true when using the OpenTelemetry Metric API to send metrics and when using an instrumentation library.
454
454
 
455
- The following table shows the recommended aggregation types] for each of the OpenTelemetry Metric Instruments.
455
+ The following table shows the recommended aggregation types for each of the OpenTelemetry Metric Instruments.
456
456
 
457
457
  | OpenTelemetry Instrument | Azure Monitor Aggregation Type |
458
458
  | ---------------------------------------------------- | ---------------------------------------------------------- |
@@ -16,10 +16,13 @@ const logger_js_1 = require("../shared/logging/logger.js");
16
16
  const types_js_1 = require("../types.js");
17
17
  const api_1 = require("@opentelemetry/api");
18
18
  class BrowserSdkLoader {
19
+ static _instance;
20
+ static _sdkLoader;
21
+ static _aiUrl;
22
+ _isIkeyValid = true;
23
+ _isInitialized = false;
24
+ _browserSdkLoaderIkey;
19
25
  constructor(config) {
20
- var _a, _b;
21
- this._isIkeyValid = true;
22
- this._isInitialized = false;
23
26
  if (BrowserSdkLoader._instance) {
24
27
  api_1.diag.warn("Browser SDK Loader should be configured from the applicationInsights object");
25
28
  }
@@ -27,8 +30,8 @@ class BrowserSdkLoader {
27
30
  // AI URL used to validate if sdk loader already included
28
31
  BrowserSdkLoader._aiUrl = types_js_1.BROWSER_SDK_LOADER_DEFAULT_SOURCE;
29
32
  let clientWebIkey;
30
- if ((_a = config.browserSdkLoaderOptions) === null || _a === void 0 ? void 0 : _a.connectionString) {
31
- clientWebIkey = this._getBrowserSdkLoaderIkey((_b = config === null || config === void 0 ? void 0 : config.browserSdkLoaderOptions) === null || _b === void 0 ? void 0 : _b.connectionString);
33
+ if (config.browserSdkLoaderOptions?.connectionString) {
34
+ clientWebIkey = this._getBrowserSdkLoaderIkey(config?.browserSdkLoaderOptions?.connectionString);
32
35
  }
33
36
  this._browserSdkLoaderIkey =
34
37
  clientWebIkey ||
@@ -89,7 +92,6 @@ class BrowserSdkLoader {
89
92
  const isGetRequest = request.method === "GET";
90
93
  // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
91
94
  response.write = function wrap(a, b) {
92
- var _a, _b;
93
95
  // only patch GET request
94
96
  try {
95
97
  if (isGetRequest) {
@@ -99,7 +101,7 @@ class BrowserSdkLoader {
99
101
  writeBufferType = b;
100
102
  }
101
103
  if (headers === null || headers === undefined) {
102
- if ((_a = BrowserSdkLoader._instance) === null || _a === void 0 ? void 0 : _a.ValidateInjection(response, a)) {
104
+ if (BrowserSdkLoader._instance?.ValidateInjection(response, a)) {
103
105
  // eslint-disable-next-line prefer-rest-params
104
106
  arguments[0] = BrowserSdkLoader._instance.InjectSdkLoader(response, a, undefined, writeBufferType);
105
107
  }
@@ -107,7 +109,7 @@ class BrowserSdkLoader {
107
109
  else if (headers.length) {
108
110
  const encodeType = headers[0];
109
111
  // eslint-disable-next-line prefer-rest-params
110
- arguments[0] = (_b = BrowserSdkLoader._instance) === null || _b === void 0 ? void 0 : _b.InjectSdkLoader(response, a, encodeType);
112
+ arguments[0] = BrowserSdkLoader._instance?.InjectSdkLoader(response, a, encodeType);
111
113
  }
112
114
  }
113
115
  }
@@ -122,7 +124,6 @@ class BrowserSdkLoader {
122
124
  const originalResponseEnd = response.end;
123
125
  // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type, @typescript-eslint/no-redundant-type-constituents
124
126
  response.end = function wrap(a, b) {
125
- var _a, _b;
126
127
  if (isGetRequest) {
127
128
  try {
128
129
  if (isGetRequest) {
@@ -132,7 +133,7 @@ class BrowserSdkLoader {
132
133
  endBufferType = b;
133
134
  }
134
135
  if (headers === null || headers === undefined) {
135
- if ((_a = BrowserSdkLoader._instance) === null || _a === void 0 ? void 0 : _a.ValidateInjection(response, a)) {
136
+ if (BrowserSdkLoader._instance?.ValidateInjection(response, a)) {
136
137
  // eslint-disable-next-line prefer-rest-params
137
138
  arguments[0] = BrowserSdkLoader._instance.InjectSdkLoader(response, a, undefined, endBufferType);
138
139
  }
@@ -140,7 +141,7 @@ class BrowserSdkLoader {
140
141
  else if (headers.length) {
141
142
  const encodeType = headers[0];
142
143
  // eslint-disable-next-line prefer-rest-params
143
- arguments[0] = (_b = BrowserSdkLoader._instance) === null || _b === void 0 ? void 0 : _b.InjectSdkLoader(response, a, encodeType);
144
+ arguments[0] = BrowserSdkLoader._instance?.InjectSdkLoader(response, a, encodeType);
144
145
  }
145
146
  }
146
147
  }
@@ -165,7 +166,6 @@ class BrowserSdkLoader {
165
166
  const originalHttpsResponseEnd = res.end;
166
167
  // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type, @typescript-eslint/no-redundant-type-constituents
167
168
  res.write = function wrap(a, b) {
168
- var _a, _b;
169
169
  try {
170
170
  if (isGetHttpsRequest) {
171
171
  const headers = browserSdkLoaderHelper.getContentEncodingFromHeaders(res);
@@ -174,7 +174,7 @@ class BrowserSdkLoader {
174
174
  writeBufferType = b;
175
175
  }
176
176
  if (headers === null || headers === undefined) {
177
- if ((_a = BrowserSdkLoader._instance) === null || _a === void 0 ? void 0 : _a.ValidateInjection(res, a)) {
177
+ if (BrowserSdkLoader._instance?.ValidateInjection(res, a)) {
178
178
  // eslint-disable-next-line prefer-rest-params
179
179
  arguments[0] = this.InjectSdkLoader(res, a, undefined, writeBufferType);
180
180
  }
@@ -182,7 +182,7 @@ class BrowserSdkLoader {
182
182
  else if (headers.length) {
183
183
  const encodeType = headers[0];
184
184
  // eslint-disable-next-line prefer-rest-params
185
- arguments[0] = (_b = BrowserSdkLoader._instance) === null || _b === void 0 ? void 0 : _b.InjectSdkLoader(res, a, encodeType);
185
+ arguments[0] = BrowserSdkLoader._instance?.InjectSdkLoader(res, a, encodeType);
186
186
  }
187
187
  }
188
188
  }
@@ -194,7 +194,6 @@ class BrowserSdkLoader {
194
194
  };
195
195
  // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type, @typescript-eslint/no-redundant-type-constituents
196
196
  res.end = function wrap(a, b) {
197
- var _a, _b;
198
197
  try {
199
198
  if (isGetHttpsRequest) {
200
199
  const headers = browserSdkLoaderHelper.getContentEncodingFromHeaders(res);
@@ -203,7 +202,7 @@ class BrowserSdkLoader {
203
202
  endBufferType = b;
204
203
  }
205
204
  if (headers === null || headers === undefined) {
206
- if ((_a = BrowserSdkLoader._instance) === null || _a === void 0 ? void 0 : _a.ValidateInjection(res, a)) {
205
+ if (BrowserSdkLoader._instance?.ValidateInjection(res, a)) {
207
206
  // eslint-disable-next-line prefer-rest-params
208
207
  arguments[0] = BrowserSdkLoader._instance.InjectSdkLoader(res, a, undefined, endBufferType);
209
208
  }
@@ -211,7 +210,7 @@ class BrowserSdkLoader {
211
210
  else if (headers.length) {
212
211
  const encodeType = headers[0];
213
212
  // eslint-disable-next-line prefer-rest-params
214
- arguments[0] = (_b = BrowserSdkLoader._instance) === null || _b === void 0 ? void 0 : _b.InjectSdkLoader(res, a, encodeType);
213
+ arguments[0] = BrowserSdkLoader._instance?.InjectSdkLoader(res, a, encodeType);
215
214
  }
216
215
  }
217
216
  }
@@ -1 +1 @@
1
- {"version":3,"file":"browserSdkLoader.js","sourceRoot":"","sources":["../../../src/browserSdkLoader/browserSdkLoader.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;AAElC,wCAAwC;AAExC,kEAA6B;AAC7B,oEAA+B;AAC/B,gGAAqF;AACrF,4FAAsE;AACtE,yEAAmD;AACnD,mDAA6B;AAE7B,kFAA4E;AAE5E,2DAAqD;AACrD,0CAAgE;AAChE,4CAA0C;AAE1C,MAAa,gBAAgB;IAS3B,YAAY,MAAsB;;QAJ1B,iBAAY,GAAY,IAAI,CAAC;QAC7B,mBAAc,GAAY,KAAK,CAAC;QAItC,IAAI,gBAAgB,CAAC,SAAS,EAAE,CAAC;YAC/B,UAAI,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;QAC3F,CAAC;QAED,gBAAgB,CAAC,SAAS,GAAG,IAAI,CAAC;QAClC,yDAAyD;QACzD,gBAAgB,CAAC,MAAM,GAAG,4CAAiC,CAAC;QAC5D,IAAI,aAAa,CAAC;QAClB,IAAI,MAAA,MAAM,CAAC,uBAAuB,0CAAE,gBAAgB,EAAE,CAAC;YACrD,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAC3C,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,uBAAuB,0CAAE,gBAAgB,CAClD,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,qBAAqB;YACxB,aAAa;gBACb,kDAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,gBAAgB,CAAC;qBAC9E,kBAAkB,CAAC;QAExB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,WAAW;QACvB,OAAO,gBAAgB,CAAC,SAAU,CAAC;IACrC,CAAC;IAEO,wBAAwB,CAAC,gBAAwB;QACvD,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,kDAAsB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9D,MAAM,QAAQ,GAAG,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC;YACjD,IAAI,CAAC,kDAAsB,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,kBAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CACvB,kFAAkF,CACnF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,IAAI,GAAG,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kBAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,sCAAsC,GAAG,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACK,+BAA+B;QACrC,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,YAAY,CAAC,mBAAmB,EAAE,CAAC;QACjD,MAAM,oBAAoB,GAAG,GAAG,IAAI,CAAC,qBAAqB,kEAAkE,KAAK,GAAG,KAAK,MAAM,CAAC;QAChJ,MAAM,iBAAiB,GAAG,4CAAS,CAAC,OAAO,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;QACzF,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACrE,MAAM,kBAAkB,GAAG,mBAAI,CAAC,YAAY,CAAC;QAC7C,MAAM,mBAAmB,GAAG,oBAAK,CAAC,YAAY,CAAC;QAE9C,mBAAI,CAAC,YAAoB,GAAG,CAC3B,eAA8E,EAC9E,EAAE;YACF,MAAM,uBAAuB,GAAG,eAAe,CAAC;YAChD,IAAI,uBAAuB,EAAE,CAAC;gBAC5B,eAAe,GAAG,CAAC,OAAwB,EAAE,QAAwB,EAAE,EAAE;oBACvE,8BAA8B;oBAC9B,6DAA6D;oBAC7D,MAAM,qBAAqB,GAAG,QAAQ,CAAC,KAAK,CAAC;oBAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC;oBAC9C,sEAAsE;oBACtE,QAAQ,CAAC,KAAK,GAAG,SAAS,IAAI,CAAC,CAAkB,EAAE,CAAqB;;wBACtE,yBAAyB;wBACzB,IAAI,CAAC;4BACH,IAAI,YAAY,EAAE,CAAC;gCACjB,MAAM,OAAO,GAAG,sBAAsB,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gCAC/E,IAAI,eAAe,GAAG,SAAS,CAAC;gCAChC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;oCAC1B,eAAe,GAAG,CAAC,CAAC;gCACtB,CAAC;gCACD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oCAC9C,IAAI,MAAA,gBAAgB,CAAC,SAAS,0CAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC;wCAC/D,8CAA8C;wCAC9C,SAAS,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,SAAS,CAAC,eAAe,CACvD,QAAQ,EACR,CAAC,EACD,SAAS,EACT,eAAe,CAChB,CAAC;oCACJ,CAAC;gCACH,CAAC;qCAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oCAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oCAC9B,8CAA8C;oCAC9C,SAAS,CAAC,CAAC,CAAC,GAAG,MAAA,gBAAgB,CAAC,SAAS,0CAAE,eAAe,CACxD,QAAQ,EACR,CAAC,EACD,UAAU,CACX,CAAC;gCACJ,CAAC;4BACH,CAAC;wBACH,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,kBAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;wBACvE,CAAC;wBACD,8CAA8C;wBAC9C,OAAO,qBAAqB,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAgB,CAAC,CAAC;oBACjE,CAAC,CAAC;oBAEF,+DAA+D;oBAC/D,6DAA6D;oBAC7D,MAAM,mBAAmB,GAAG,QAAQ,CAAC,GAAG,CAAC;oBAEzC,yHAAyH;oBACxH,QAAQ,CAAC,GAAW,GAAG,SAAS,IAAI,CAAC,CAAyB,EAAE,CAAY;;wBAC3E,IAAI,YAAY,EAAE,CAAC;4BACjB,IAAI,CAAC;gCACH,IAAI,YAAY,EAAE,CAAC;oCACjB,MAAM,OAAO,GAAG,sBAAsB,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;oCAC/E,IAAI,aAAa,GAAG,SAAS,CAAC;oCAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;wCAC1B,aAAa,GAAG,CAAC,CAAC;oCACpB,CAAC;oCACD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;wCAC9C,IAAI,MAAA,gBAAgB,CAAC,SAAS,0CAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC;4CAC/D,8CAA8C;4CAC9C,SAAS,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,SAAS,CAAC,eAAe,CACvD,QAAQ,EACR,CAAC,EACD,SAAS,EACT,aAAa,CACd,CAAC;wCACJ,CAAC;oCACH,CAAC;yCAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;wCAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;wCAC9B,8CAA8C;wCAC9C,SAAS,CAAC,CAAC,CAAC,GAAG,MAAA,gBAAgB,CAAC,SAAS,0CAAE,eAAe,CACxD,QAAQ,EACR,CAAC,EACD,UAAU,CACX,CAAC;oCACJ,CAAC;gCACH,CAAC;4BACH,CAAC;4BAAC,OAAO,GAAG,EAAE,CAAC;gCACb,kBAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;4BACvE,CAAC;wBACH,CAAC;wBACD,8CAA8C;wBAC9C,OAAO,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAgB,CAAC,CAAC;oBAC/D,CAAC,CAAC;oBAEF,OAAO,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACpD,CAAC,CAAC;YACJ,CAAC;YACD,OAAO,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAC7C,CAAC,CAAC;QAED,oBAAK,CAAC,YAAoB,GAAG,UAAU,OAAY,EAAE,oBAAyB;YAC7E,MAAM,4BAA4B,GAAG,oBAAoB,CAAC;YAC1D,IAAI,4BAA4B,EAAE,CAAC;gBACjC,oBAAoB,GAAG,UAAU,GAAQ,EAAE,GAAQ;oBACjD,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC;oBAC/C,MAAM,0BAA0B,GAAG,GAAG,CAAC,KAAK,CAAC;oBAC7C,MAAM,wBAAwB,GAAG,GAAG,CAAC,GAAG,CAAC;oBACzC,yHAAyH;oBACzH,GAAG,CAAC,KAAK,GAAG,SAAS,IAAI,CAAC,CAAwB,EAAE,CAAqB;;wBACvE,IAAI,CAAC;4BACH,IAAI,iBAAiB,EAAE,CAAC;gCACtB,MAAM,OAAO,GAAG,sBAAsB,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC;gCAC1E,IAAI,eAAe,GAAG,SAAS,CAAC;gCAChC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;oCAC1B,eAAe,GAAG,CAAC,CAAC;gCACtB,CAAC;gCACD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oCAC9C,IAAI,MAAA,gBAAgB,CAAC,SAAS,0CAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;wCAC1D,8CAA8C;wCAC9C,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;oCAC1E,CAAC;gCACH,CAAC;qCAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oCAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oCAC9B,8CAA8C;oCAC9C,SAAS,CAAC,CAAC,CAAC,GAAG,MAAA,gBAAgB,CAAC,SAAS,0CAAE,eAAe,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;gCACjF,CAAC;4BACH,CAAC;wBACH,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,kBAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;wBAC/D,CAAC;wBACD,mFAAmF;wBACnF,OAAO,0BAA0B,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;oBAC1D,CAAC,CAAC;oBAEF,yHAAyH;oBACzH,GAAG,CAAC,GAAG,GAAG,SAAS,IAAI,CAAC,CAAwB,EAAE,CAAqB;;wBACrE,IAAI,CAAC;4BACH,IAAI,iBAAiB,EAAE,CAAC;gCACtB,MAAM,OAAO,GAAG,sBAAsB,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC;gCAC1E,IAAI,aAAa,GAAG,SAAS,CAAC;gCAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;oCAC1B,aAAa,GAAG,CAAC,CAAC;gCACpB,CAAC;gCACD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oCAC9C,IAAI,MAAA,gBAAgB,CAAC,SAAS,0CAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;wCAC1D,8CAA8C;wCAC9C,SAAS,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,SAAS,CAAC,eAAe,CACvD,GAAG,EACH,CAAC,EACD,SAAS,EACT,aAAa,CACd,CAAC;oCACJ,CAAC;gCACH,CAAC;qCAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oCAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oCAC9B,8CAA8C;oCAC9C,SAAS,CAAC,CAAC,CAAC,GAAG,MAAA,gBAAgB,CAAC,SAAS,0CAAE,eAAe,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;gCACjF,CAAC;4BACH,CAAC;wBACH,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,kBAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;wBAC/D,CAAC;wBACD,mFAAmF;wBACnF,OAAO,wBAAwB,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;oBACxD,CAAC,CAAC;oBACF,+DAA+D;oBAC/D,OAAO,4BAA4B,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAChD,CAAC,CAAC;gBACF,OAAO,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,6EAA6E;IACtE,iBAAiB,CAAC,QAAa,EAAE,KAAsB;QAC5D,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG;gBAAE,OAAO,KAAK,CAAC;YACrE,MAAM,aAAa,GAAG,sBAAsB,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YAC/E,IAAI,CAAC,aAAa;gBAAE,OAAO,KAAK,CAAC;YACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC1C,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxE,qEAAqE;gBACrE,IAAI,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClD,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kBAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACI,eAAe;IACpB,6EAA6E;IAC7E,QAAa,EACb,KAAsB,EACtB,UAAyD,EACzD,gBAAyB;QAEzB,IAAI,CAAC;YACH,MAAM,kBAAkB,GAAG,CAAC,CAAC,UAAU,CAAC;YACxC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACtC,IAAI,KAAK,GAAG,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAE5B,MAAM,OAAO,GAAG,sBAAsB,CAAC,6BAA6B,CAClE,KAAK,EACL,IAAI,EACJ,gBAAgB,CAAC,UAAU,CAC5B,CAAC;gBACF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;oBACxC,IAAI,OAAO,EAAE,CAAC;wBACZ,KAAK,GAAG,OAAO,CAAC;oBAClB,CAAC;oBACD,QAAQ,CAAC,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;gBACjE,CAAC;qBAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClC,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC;oBAChE,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;oBACjF,IAAI,iBAAiB,IAAI,OAAO,EAAE,CAAC;wBACjC,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;wBACxC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,UAA4B,CAAC,CAAC;wBAClF,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,UAA4B,CAAC,CAAC;wBACjE,QAAQ,CAAC,SAAS,CAAC,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;gBACxC,KAAK,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,KAAe,EAAE,UAAU,CAAC,CAAC;gBAC/E,QAAQ,CAAC,SAAS,CAAC,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,kBAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CACvB,oFAAoF,EAAE,EAAE,CACzF,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0BAA0B;IAC1B,uFAAuF;IACvF,uCAAuC;IACvC,oEAAoE;IACpE,0BAA0B;IAClB,0BAA0B,CAChC,QAAa,EACb,KAAa,EACb,UAAwD;QAExD,IAAI,CAAC;YACH,QAAQ,UAAU,EAAE,CAAC;gBACnB,KAAK,sBAAsB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;oBACvD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAC5C,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC;wBACnD,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;wBAC1E,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;oBAC9C,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,sBAAsB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC9C,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC;wBACpD,MAAM,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;wBAC5E,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;oBAClD,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,sBAAsB,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,MAAM,oBAAoB,GAAG,sBAAsB,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;oBAClF,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;oBAC9E,IAAI,oBAAoB,IAAI,kBAAkB,EAAE,CAAC;wBAC/C,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;wBACrD,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC;4BACvD,MAAM,wBAAwB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;4BAClF,KAAK,GAAG,kBAAkB,CAAC,wBAAwB,CAAC,CAAC;wBACvD,CAAC;wBACD,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kBAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,iDAAiD,GAAG,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,OAAO;QACZ,gBAAgB,CAAC,SAAS,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;CACF;AApXD,4CAoXC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* eslint-disable no-underscore-dangle*/\n\nimport http from \"node:http\";\nimport https from \"node:https\";\nimport { webSnippet as sdkLoader } from \"@microsoft/applicationinsights-web-snippet\";\nimport * as browserSdkLoaderHelper from \"./browserSdkLoaderHelper.js\";\nimport * as prefixHelper from \"../utils/common.js\";\nimport * as zlib from \"zlib\";\nimport type { InternalConfig } from \"../shared/index.js\";\nimport { ConnectionStringParser } from \"../utils/connectionStringParser.js\";\nimport type { IncomingMessage, ServerResponse } from \"node:http\";\nimport { Logger } from \"../shared/logging/logger.js\";\nimport { BROWSER_SDK_LOADER_DEFAULT_SOURCE } from \"../types.js\";\nimport { diag } from \"@opentelemetry/api\";\n\nexport class BrowserSdkLoader {\n private static _instance: BrowserSdkLoader | null;\n\n private static _sdkLoader: string;\n private static _aiUrl: string;\n private _isIkeyValid: boolean = true;\n private _isInitialized: boolean = false;\n private _browserSdkLoaderIkey?: string;\n\n constructor(config: InternalConfig) {\n if (BrowserSdkLoader._instance) {\n diag.warn(\"Browser SDK Loader should be configured from the applicationInsights object\");\n }\n\n BrowserSdkLoader._instance = this;\n // AI URL used to validate if sdk loader already included\n BrowserSdkLoader._aiUrl = BROWSER_SDK_LOADER_DEFAULT_SOURCE;\n let clientWebIkey;\n if (config.browserSdkLoaderOptions?.connectionString) {\n clientWebIkey = this._getBrowserSdkLoaderIkey(\n config?.browserSdkLoaderOptions?.connectionString,\n );\n }\n this._browserSdkLoaderIkey =\n clientWebIkey ||\n ConnectionStringParser.parse(config.azureMonitorExporterOptions.connectionString)\n .instrumentationkey;\n\n if (this._isIkeyValid) {\n this._initialize();\n }\n }\n\n public isInitialized(): boolean {\n return this._isInitialized;\n }\n\n public static getInstance(): BrowserSdkLoader {\n return BrowserSdkLoader._instance!;\n }\n\n private _getBrowserSdkLoaderIkey(connectionString: string): string | null {\n let iKey = null;\n try {\n const csCode = ConnectionStringParser.parse(connectionString);\n const iKeyCode = csCode.instrumentationkey || \"\";\n if (!ConnectionStringParser.validateInstrumentationKey(iKeyCode)) {\n this._isIkeyValid = false;\n Logger.getInstance().info(\n \"Invalid browser SDK loader connection string, browser SDK loader is not enabled.\",\n );\n } else {\n this._isIkeyValid = true;\n iKey = iKeyCode;\n }\n } catch (err) {\n Logger.getInstance().info(`get browser SDK loader ikey error: ${err}`);\n }\n return iKey;\n }\n\n /**\n * Gets string to inject into the web page\n * @returns The string to inject into the web page\n */\n private _getBrowserSdkLoaderReplacedStr(): string {\n const osStr = prefixHelper.getOsPrefix();\n const rpStr = prefixHelper.getResourceProvider();\n const sdkLoaderReplacedStr = `${this._browserSdkLoaderIkey}\",\\r\\n disableIkeyDeprecationMessage: true,\\r\\n sdkExtension: \"${rpStr}${osStr}d_n_`;\n const replacedSdkLoader = sdkLoader.replace(\"INSTRUMENTATION_KEY\", sdkLoaderReplacedStr);\n return replacedSdkLoader;\n }\n\n private _initialize(): void {\n this._isInitialized = true;\n BrowserSdkLoader._sdkLoader = this._getBrowserSdkLoaderReplacedStr();\n const originalHttpServer = http.createServer;\n const originalHttpsServer = https.createServer;\n\n (http.createServer as any) = (\n requestListener?: (request: IncomingMessage, response: ServerResponse) => void,\n ) => {\n const originalRequestListener = requestListener;\n if (originalRequestListener) {\n requestListener = (request: IncomingMessage, response: ServerResponse) => {\n // Patch response write method\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const originalResponseWrite = response.write;\n const isGetRequest = request.method === \"GET\";\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n response.write = function wrap(a: Buffer | string, b?: Function | string) {\n // only patch GET request\n try {\n if (isGetRequest) {\n const headers = browserSdkLoaderHelper.getContentEncodingFromHeaders(response);\n let writeBufferType = undefined;\n if (typeof b === \"string\") {\n writeBufferType = b;\n }\n if (headers === null || headers === undefined) {\n if (BrowserSdkLoader._instance?.ValidateInjection(response, a)) {\n // eslint-disable-next-line prefer-rest-params\n arguments[0] = BrowserSdkLoader._instance.InjectSdkLoader(\n response,\n a,\n undefined,\n writeBufferType,\n );\n }\n } else if (headers.length) {\n const encodeType = headers[0];\n // eslint-disable-next-line prefer-rest-params\n arguments[0] = BrowserSdkLoader._instance?.InjectSdkLoader(\n response,\n a,\n encodeType,\n );\n }\n }\n } catch (err) {\n Logger.getInstance().warn(`Inject browser sdk loader error: ${err}`);\n }\n // eslint-disable-next-line prefer-rest-params\n return originalResponseWrite.apply(response, arguments as any);\n };\n\n // Patch response end method for cases when HTML is added there\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const originalResponseEnd = response.end;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type, @typescript-eslint/no-redundant-type-constituents\n (response.end as any) = function wrap(a?: Buffer | string | any, b?: Function) {\n if (isGetRequest) {\n try {\n if (isGetRequest) {\n const headers = browserSdkLoaderHelper.getContentEncodingFromHeaders(response);\n let endBufferType = undefined;\n if (typeof b === \"string\") {\n endBufferType = b;\n }\n if (headers === null || headers === undefined) {\n if (BrowserSdkLoader._instance?.ValidateInjection(response, a)) {\n // eslint-disable-next-line prefer-rest-params\n arguments[0] = BrowserSdkLoader._instance.InjectSdkLoader(\n response,\n a,\n undefined,\n endBufferType,\n );\n }\n } else if (headers.length) {\n const encodeType = headers[0];\n // eslint-disable-next-line prefer-rest-params\n arguments[0] = BrowserSdkLoader._instance?.InjectSdkLoader(\n response,\n a,\n encodeType,\n );\n }\n }\n } catch (err) {\n Logger.getInstance().warn(`Inject browser sdk loader error: ${err}`);\n }\n }\n // eslint-disable-next-line prefer-rest-params\n return originalResponseEnd.apply(response, arguments as any);\n };\n\n return originalRequestListener(request, response);\n };\n }\n return originalHttpServer(requestListener);\n };\n\n (https.createServer as any) = function (options: any, httpsRequestListener: any): any {\n const originalHttpsRequestListener = httpsRequestListener;\n if (originalHttpsRequestListener) {\n httpsRequestListener = function (req: any, res: any) {\n const isGetHttpsRequest = req.method === \"GET\";\n const originalHttpsResponseWrite = res.write;\n const originalHttpsResponseEnd = res.end;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type, @typescript-eslint/no-redundant-type-constituents\n res.write = function wrap(a: Buffer | string | any, b?: Function | string) {\n try {\n if (isGetHttpsRequest) {\n const headers = browserSdkLoaderHelper.getContentEncodingFromHeaders(res);\n let writeBufferType = undefined;\n if (typeof b === \"string\") {\n writeBufferType = b;\n }\n if (headers === null || headers === undefined) {\n if (BrowserSdkLoader._instance?.ValidateInjection(res, a)) {\n // eslint-disable-next-line prefer-rest-params\n arguments[0] = this.InjectSdkLoader(res, a, undefined, writeBufferType);\n }\n } else if (headers.length) {\n const encodeType = headers[0];\n // eslint-disable-next-line prefer-rest-params\n arguments[0] = BrowserSdkLoader._instance?.InjectSdkLoader(res, a, encodeType);\n }\n }\n } catch (err) {\n Logger.getInstance().warn(`Inject SDK loader error: ${err}`);\n }\n // eslint-disable-next-line prefer-rest-params, @typescript-eslint/no-unsafe-return\n return originalHttpsResponseWrite.apply(res, arguments);\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type, @typescript-eslint/no-redundant-type-constituents\n res.end = function wrap(a: Buffer | string | any, b?: Function | string) {\n try {\n if (isGetHttpsRequest) {\n const headers = browserSdkLoaderHelper.getContentEncodingFromHeaders(res);\n let endBufferType = undefined;\n if (typeof b === \"string\") {\n endBufferType = b;\n }\n if (headers === null || headers === undefined) {\n if (BrowserSdkLoader._instance?.ValidateInjection(res, a)) {\n // eslint-disable-next-line prefer-rest-params\n arguments[0] = BrowserSdkLoader._instance.InjectSdkLoader(\n res,\n a,\n undefined,\n endBufferType,\n );\n }\n } else if (headers.length) {\n const encodeType = headers[0];\n // eslint-disable-next-line prefer-rest-params\n arguments[0] = BrowserSdkLoader._instance?.InjectSdkLoader(res, a, encodeType);\n }\n }\n } catch (err) {\n Logger.getInstance().warn(`Inject SDK loader error: ${err}`);\n }\n // eslint-disable-next-line prefer-rest-params, @typescript-eslint/no-unsafe-return\n return originalHttpsResponseEnd.apply(res, arguments);\n };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return originalHttpsRequestListener(req, res);\n };\n return originalHttpsServer(options, httpsRequestListener);\n }\n };\n }\n\n /**\n * Validate response and try to inject Browser SDK Loader\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n public ValidateInjection(response: any, input: string | Buffer): boolean {\n try {\n if (!response || !input || response.statusCode !== 200) return false;\n const isContentHtml = browserSdkLoaderHelper.isContentTypeHeaderHtml(response);\n if (!isContentHtml) return false;\n const inputStr = input.slice().toString();\n if (inputStr.indexOf(\"<head>\") >= 0 && inputStr.indexOf(\"</head>\") >= 0) {\n // Check if sdk loader not already present looking for AI Web SDK URL\n if (inputStr.indexOf(BrowserSdkLoader._aiUrl) < 0) {\n return true;\n }\n }\n } catch (err) {\n Logger.getInstance().info(`validate injections error: ${err}`);\n }\n return false;\n }\n\n /**\n * Inject Browser SDK Loader\n */\n public InjectSdkLoader(\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n response: any,\n input: string | Buffer,\n encodeType?: browserSdkLoaderHelper.contentEncodingMethod,\n bufferEncodeType?: string,\n ): string | Buffer {\n try {\n const isCompressedBuffer = !!encodeType;\n if (!isCompressedBuffer) {\n const html = input.toString();\n const index = html.indexOf(\"</head>\");\n if (index < 0) return input;\n\n const newHtml = browserSdkLoaderHelper.insertBrowserSdkLoaderByIndex(\n index,\n html,\n BrowserSdkLoader._sdkLoader,\n );\n if (typeof input === \"string\") {\n response.removeHeader(\"Content-Length\");\n if (newHtml) {\n input = newHtml;\n }\n response.setHeader(\"Content-Length\", Buffer.byteLength(input));\n } else if (Buffer.isBuffer(input)) {\n const bufferType = bufferEncodeType ? bufferEncodeType : \"utf8\";\n const isValidBufferType = browserSdkLoaderHelper.isBufferType(input, bufferType);\n if (isValidBufferType && newHtml) {\n response.removeHeader(\"Content-Length\");\n const encodedString = Buffer.from(newHtml).toString(bufferType as BufferEncoding);\n input = Buffer.from(encodedString, bufferType as BufferEncoding);\n response.setHeader(\"Content-Length\", input.length);\n }\n }\n } else {\n response.removeHeader(\"Content-Length\");\n input = this._getInjectedCompressBuffer(response, input as Buffer, encodeType);\n response.setHeader(\"Content-Length\", input.length);\n }\n } catch (ex) {\n Logger.getInstance().warn(\n `Failed to inject browser sdk loader and change content-length headers. Exception:${ex}`,\n );\n }\n return input;\n }\n\n //* **********************\n // should NOT use sync functions here. But currently cannot get async functions to work\n // because reponse.write return boolean\n // and also this function do not support partial compression as well\n // need more investigation\n private _getInjectedCompressBuffer(\n response: any,\n input: Buffer,\n encodeType: browserSdkLoaderHelper.contentEncodingMethod,\n ): Buffer {\n try {\n switch (encodeType) {\n case browserSdkLoaderHelper.contentEncodingMethod.GZIP: {\n const gunzipBuffer = zlib.gunzipSync(input);\n if (this.ValidateInjection(response, gunzipBuffer)) {\n const injectedGunzipBuffer = this.InjectSdkLoader(response, gunzipBuffer);\n input = zlib.gzipSync(injectedGunzipBuffer);\n }\n break;\n }\n case browserSdkLoaderHelper.contentEncodingMethod.DEFLATE: {\n const inflateBuffer = zlib.inflateSync(input);\n if (this.ValidateInjection(response, inflateBuffer)) {\n const injectedInflateBuffer = this.InjectSdkLoader(response, inflateBuffer);\n input = zlib.deflateSync(injectedInflateBuffer);\n }\n break;\n }\n case browserSdkLoaderHelper.contentEncodingMethod.BR: {\n const BrotliDecompressSync = browserSdkLoaderHelper.getBrotliDecompressSync(zlib);\n const BrotliCompressSync = browserSdkLoaderHelper.getBrotliCompressSync(zlib);\n if (BrotliDecompressSync && BrotliCompressSync) {\n const decompressBuffer = BrotliDecompressSync(input);\n if (this.ValidateInjection(response, decompressBuffer)) {\n const injectedDecompressBuffer = this.InjectSdkLoader(response, decompressBuffer);\n input = BrotliCompressSync(injectedDecompressBuffer);\n }\n break;\n }\n }\n }\n } catch (err) {\n Logger.getInstance().info(`get browser SDK loader compress buffer error: ${err}`);\n }\n\n return input;\n }\n\n public dispose(): void {\n BrowserSdkLoader._instance = null;\n this._isInitialized = false;\n }\n}\n"]}
1
+ {"version":3,"file":"browserSdkLoader.js","sourceRoot":"","sources":["../../../src/browserSdkLoader/browserSdkLoader.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* eslint-disable no-underscore-dangle*/\n\nimport http from \"node:http\";\nimport https from \"node:https\";\nimport { webSnippet as sdkLoader } from \"@microsoft/applicationinsights-web-snippet\";\nimport * as browserSdkLoaderHelper from \"./browserSdkLoaderHelper.js\";\nimport * as prefixHelper from \"../utils/common.js\";\nimport * as zlib from \"zlib\";\nimport type { InternalConfig } from \"../shared/index.js\";\nimport { ConnectionStringParser } from \"../utils/connectionStringParser.js\";\nimport type { IncomingMessage, ServerResponse } from \"node:http\";\nimport { Logger } from \"../shared/logging/logger.js\";\nimport { BROWSER_SDK_LOADER_DEFAULT_SOURCE } from \"../types.js\";\nimport { diag } from \"@opentelemetry/api\";\n\nexport class BrowserSdkLoader {\n private static _instance: BrowserSdkLoader | null;\n\n private static _sdkLoader: string;\n private static _aiUrl: string;\n private _isIkeyValid: boolean = true;\n private _isInitialized: boolean = false;\n private _browserSdkLoaderIkey?: string;\n\n constructor(config: InternalConfig) {\n if (BrowserSdkLoader._instance) {\n diag.warn(\"Browser SDK Loader should be configured from the applicationInsights object\");\n }\n\n BrowserSdkLoader._instance = this;\n // AI URL used to validate if sdk loader already included\n BrowserSdkLoader._aiUrl = BROWSER_SDK_LOADER_DEFAULT_SOURCE;\n let clientWebIkey;\n if (config.browserSdkLoaderOptions?.connectionString) {\n clientWebIkey = this._getBrowserSdkLoaderIkey(\n config?.browserSdkLoaderOptions?.connectionString,\n );\n }\n this._browserSdkLoaderIkey =\n clientWebIkey ||\n ConnectionStringParser.parse(config.azureMonitorExporterOptions.connectionString)\n .instrumentationkey;\n\n if (this._isIkeyValid) {\n this._initialize();\n }\n }\n\n public isInitialized(): boolean {\n return this._isInitialized;\n }\n\n public static getInstance(): BrowserSdkLoader {\n return BrowserSdkLoader._instance!;\n }\n\n private _getBrowserSdkLoaderIkey(connectionString: string): string | null {\n let iKey = null;\n try {\n const csCode = ConnectionStringParser.parse(connectionString);\n const iKeyCode = csCode.instrumentationkey || \"\";\n if (!ConnectionStringParser.validateInstrumentationKey(iKeyCode)) {\n this._isIkeyValid = false;\n Logger.getInstance().info(\n \"Invalid browser SDK loader connection string, browser SDK loader is not enabled.\",\n );\n } else {\n this._isIkeyValid = true;\n iKey = iKeyCode;\n }\n } catch (err) {\n Logger.getInstance().info(`get browser SDK loader ikey error: ${err}`);\n }\n return iKey;\n }\n\n /**\n * Gets string to inject into the web page\n * @returns The string to inject into the web page\n */\n private _getBrowserSdkLoaderReplacedStr(): string {\n const osStr = prefixHelper.getOsPrefix();\n const rpStr = prefixHelper.getResourceProvider();\n const sdkLoaderReplacedStr = `${this._browserSdkLoaderIkey}\",\\r\\n disableIkeyDeprecationMessage: true,\\r\\n sdkExtension: \"${rpStr}${osStr}d_n_`;\n const replacedSdkLoader = sdkLoader.replace(\"INSTRUMENTATION_KEY\", sdkLoaderReplacedStr);\n return replacedSdkLoader;\n }\n\n private _initialize(): void {\n this._isInitialized = true;\n BrowserSdkLoader._sdkLoader = this._getBrowserSdkLoaderReplacedStr();\n const originalHttpServer = http.createServer;\n const originalHttpsServer = https.createServer;\n\n (http.createServer as any) = (\n requestListener?: (request: IncomingMessage, response: ServerResponse) => void,\n ) => {\n const originalRequestListener = requestListener;\n if (originalRequestListener) {\n requestListener = (request: IncomingMessage, response: ServerResponse) => {\n // Patch response write method\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const originalResponseWrite = response.write;\n const isGetRequest = request.method === \"GET\";\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n response.write = function wrap(a: Buffer | string, b?: Function | string) {\n // only patch GET request\n try {\n if (isGetRequest) {\n const headers = browserSdkLoaderHelper.getContentEncodingFromHeaders(response);\n let writeBufferType = undefined;\n if (typeof b === \"string\") {\n writeBufferType = b;\n }\n if (headers === null || headers === undefined) {\n if (BrowserSdkLoader._instance?.ValidateInjection(response, a)) {\n // eslint-disable-next-line prefer-rest-params\n arguments[0] = BrowserSdkLoader._instance.InjectSdkLoader(\n response,\n a,\n undefined,\n writeBufferType,\n );\n }\n } else if (headers.length) {\n const encodeType = headers[0];\n // eslint-disable-next-line prefer-rest-params\n arguments[0] = BrowserSdkLoader._instance?.InjectSdkLoader(\n response,\n a,\n encodeType,\n );\n }\n }\n } catch (err) {\n Logger.getInstance().warn(`Inject browser sdk loader error: ${err}`);\n }\n // eslint-disable-next-line prefer-rest-params\n return originalResponseWrite.apply(response, arguments as any);\n };\n\n // Patch response end method for cases when HTML is added there\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const originalResponseEnd = response.end;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type, @typescript-eslint/no-redundant-type-constituents\n (response.end as any) = function wrap(a?: Buffer | string | any, b?: Function) {\n if (isGetRequest) {\n try {\n if (isGetRequest) {\n const headers = browserSdkLoaderHelper.getContentEncodingFromHeaders(response);\n let endBufferType = undefined;\n if (typeof b === \"string\") {\n endBufferType = b;\n }\n if (headers === null || headers === undefined) {\n if (BrowserSdkLoader._instance?.ValidateInjection(response, a)) {\n // eslint-disable-next-line prefer-rest-params\n arguments[0] = BrowserSdkLoader._instance.InjectSdkLoader(\n response,\n a,\n undefined,\n endBufferType,\n );\n }\n } else if (headers.length) {\n const encodeType = headers[0];\n // eslint-disable-next-line prefer-rest-params\n arguments[0] = BrowserSdkLoader._instance?.InjectSdkLoader(\n response,\n a,\n encodeType,\n );\n }\n }\n } catch (err) {\n Logger.getInstance().warn(`Inject browser sdk loader error: ${err}`);\n }\n }\n // eslint-disable-next-line prefer-rest-params\n return originalResponseEnd.apply(response, arguments as any);\n };\n\n return originalRequestListener(request, response);\n };\n }\n return originalHttpServer(requestListener);\n };\n\n (https.createServer as any) = function (options: any, httpsRequestListener: any): any {\n const originalHttpsRequestListener = httpsRequestListener;\n if (originalHttpsRequestListener) {\n httpsRequestListener = function (req: any, res: any) {\n const isGetHttpsRequest = req.method === \"GET\";\n const originalHttpsResponseWrite = res.write;\n const originalHttpsResponseEnd = res.end;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type, @typescript-eslint/no-redundant-type-constituents\n res.write = function wrap(a: Buffer | string | any, b?: Function | string) {\n try {\n if (isGetHttpsRequest) {\n const headers = browserSdkLoaderHelper.getContentEncodingFromHeaders(res);\n let writeBufferType = undefined;\n if (typeof b === \"string\") {\n writeBufferType = b;\n }\n if (headers === null || headers === undefined) {\n if (BrowserSdkLoader._instance?.ValidateInjection(res, a)) {\n // eslint-disable-next-line prefer-rest-params\n arguments[0] = this.InjectSdkLoader(res, a, undefined, writeBufferType);\n }\n } else if (headers.length) {\n const encodeType = headers[0];\n // eslint-disable-next-line prefer-rest-params\n arguments[0] = BrowserSdkLoader._instance?.InjectSdkLoader(res, a, encodeType);\n }\n }\n } catch (err) {\n Logger.getInstance().warn(`Inject SDK loader error: ${err}`);\n }\n // eslint-disable-next-line prefer-rest-params, @typescript-eslint/no-unsafe-return\n return originalHttpsResponseWrite.apply(res, arguments);\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type, @typescript-eslint/no-redundant-type-constituents\n res.end = function wrap(a: Buffer | string | any, b?: Function | string) {\n try {\n if (isGetHttpsRequest) {\n const headers = browserSdkLoaderHelper.getContentEncodingFromHeaders(res);\n let endBufferType = undefined;\n if (typeof b === \"string\") {\n endBufferType = b;\n }\n if (headers === null || headers === undefined) {\n if (BrowserSdkLoader._instance?.ValidateInjection(res, a)) {\n // eslint-disable-next-line prefer-rest-params\n arguments[0] = BrowserSdkLoader._instance.InjectSdkLoader(\n res,\n a,\n undefined,\n endBufferType,\n );\n }\n } else if (headers.length) {\n const encodeType = headers[0];\n // eslint-disable-next-line prefer-rest-params\n arguments[0] = BrowserSdkLoader._instance?.InjectSdkLoader(res, a, encodeType);\n }\n }\n } catch (err) {\n Logger.getInstance().warn(`Inject SDK loader error: ${err}`);\n }\n // eslint-disable-next-line prefer-rest-params, @typescript-eslint/no-unsafe-return\n return originalHttpsResponseEnd.apply(res, arguments);\n };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return originalHttpsRequestListener(req, res);\n };\n return originalHttpsServer(options, httpsRequestListener);\n }\n };\n }\n\n /**\n * Validate response and try to inject Browser SDK Loader\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n public ValidateInjection(response: any, input: string | Buffer): boolean {\n try {\n if (!response || !input || response.statusCode !== 200) return false;\n const isContentHtml = browserSdkLoaderHelper.isContentTypeHeaderHtml(response);\n if (!isContentHtml) return false;\n const inputStr = input.slice().toString();\n if (inputStr.indexOf(\"<head>\") >= 0 && inputStr.indexOf(\"</head>\") >= 0) {\n // Check if sdk loader not already present looking for AI Web SDK URL\n if (inputStr.indexOf(BrowserSdkLoader._aiUrl) < 0) {\n return true;\n }\n }\n } catch (err) {\n Logger.getInstance().info(`validate injections error: ${err}`);\n }\n return false;\n }\n\n /**\n * Inject Browser SDK Loader\n */\n public InjectSdkLoader(\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n response: any,\n input: string | Buffer,\n encodeType?: browserSdkLoaderHelper.contentEncodingMethod,\n bufferEncodeType?: string,\n ): string | Buffer {\n try {\n const isCompressedBuffer = !!encodeType;\n if (!isCompressedBuffer) {\n const html = input.toString();\n const index = html.indexOf(\"</head>\");\n if (index < 0) return input;\n\n const newHtml = browserSdkLoaderHelper.insertBrowserSdkLoaderByIndex(\n index,\n html,\n BrowserSdkLoader._sdkLoader,\n );\n if (typeof input === \"string\") {\n response.removeHeader(\"Content-Length\");\n if (newHtml) {\n input = newHtml;\n }\n response.setHeader(\"Content-Length\", Buffer.byteLength(input));\n } else if (Buffer.isBuffer(input)) {\n const bufferType = bufferEncodeType ? bufferEncodeType : \"utf8\";\n const isValidBufferType = browserSdkLoaderHelper.isBufferType(input, bufferType);\n if (isValidBufferType && newHtml) {\n response.removeHeader(\"Content-Length\");\n const encodedString = Buffer.from(newHtml).toString(bufferType as BufferEncoding);\n input = Buffer.from(encodedString, bufferType as BufferEncoding);\n response.setHeader(\"Content-Length\", input.length);\n }\n }\n } else {\n response.removeHeader(\"Content-Length\");\n input = this._getInjectedCompressBuffer(response, input as Buffer, encodeType);\n response.setHeader(\"Content-Length\", input.length);\n }\n } catch (ex) {\n Logger.getInstance().warn(\n `Failed to inject browser sdk loader and change content-length headers. Exception:${ex}`,\n );\n }\n return input;\n }\n\n //* **********************\n // should NOT use sync functions here. But currently cannot get async functions to work\n // because reponse.write return boolean\n // and also this function do not support partial compression as well\n // need more investigation\n private _getInjectedCompressBuffer(\n response: any,\n input: Buffer,\n encodeType: browserSdkLoaderHelper.contentEncodingMethod,\n ): Buffer {\n try {\n switch (encodeType) {\n case browserSdkLoaderHelper.contentEncodingMethod.GZIP: {\n const gunzipBuffer = zlib.gunzipSync(input);\n if (this.ValidateInjection(response, gunzipBuffer)) {\n const injectedGunzipBuffer = this.InjectSdkLoader(response, gunzipBuffer);\n input = zlib.gzipSync(injectedGunzipBuffer);\n }\n break;\n }\n case browserSdkLoaderHelper.contentEncodingMethod.DEFLATE: {\n const inflateBuffer = zlib.inflateSync(input);\n if (this.ValidateInjection(response, inflateBuffer)) {\n const injectedInflateBuffer = this.InjectSdkLoader(response, inflateBuffer);\n input = zlib.deflateSync(injectedInflateBuffer);\n }\n break;\n }\n case browserSdkLoaderHelper.contentEncodingMethod.BR: {\n const BrotliDecompressSync = browserSdkLoaderHelper.getBrotliDecompressSync(zlib);\n const BrotliCompressSync = browserSdkLoaderHelper.getBrotliCompressSync(zlib);\n if (BrotliDecompressSync && BrotliCompressSync) {\n const decompressBuffer = BrotliDecompressSync(input);\n if (this.ValidateInjection(response, decompressBuffer)) {\n const injectedDecompressBuffer = this.InjectSdkLoader(response, decompressBuffer);\n input = BrotliCompressSync(injectedDecompressBuffer);\n }\n break;\n }\n }\n }\n } catch (err) {\n Logger.getInstance().info(`get browser SDK loader compress buffer error: ${err}`);\n }\n\n return input;\n }\n\n public dispose(): void {\n BrowserSdkLoader._instance = null;\n this._isInitialized = false;\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import * as zlib from "zlib";
2
- import type * as http from "node:http";
2
+ import type http from "node:http";
3
3
  export declare enum contentEncodingMethod {
4
4
  GZIP = "gzip",
5
5
  DEFLATE = "deflate",
@@ -1 +1 @@
1
- {"version":3,"file":"browserSdkLoaderHelper.d.ts","sourceRoot":"","sources":["../../../src/browserSdkLoader/browserSdkLoaderHelper.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAC;AAGvC,oBAAY,qBAAqB;IAC/B,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,EAAE,OAAO;CACV;AAGD,eAAO,MAAM,mBAAmB,UAS/B,CAAC;AAGF,eAAO,MAAM,iBAAiB,QAAO,OAGpC,CAAC;AAEF,eAAO,MAAM,SAAS,gCAAuB,CAAC;AAC9C,eAAO,MAAM,WAAW,kCAAyB,CAAC;AAClD,eAAO,MAAM,YAAY,mCAA0B,CAAC;AACpD,eAAO,MAAM,YAAY,mCAA0B,CAAC;AAGpD,eAAO,MAAM,sBAAsB,GAAI,YAAY,GAAG,KAAG,QAAQ,GAAG,IAMnE,CAAC;AAGF,eAAO,MAAM,qBAAqB,GAAI,YAAY,GAAG,KAAG,QAAQ,GAAG,IAOlE,CAAC;AAGF,eAAO,MAAM,wBAAwB,GAAI,YAAY,GAAG,KAAG,QAAQ,GAAG,IAMrE,CAAC;AAGF,eAAO,MAAM,uBAAuB,GAAI,YAAY,GAAG,KAAG,QAAQ,GAAG,IAOpE,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,KAAG,OAAO,GAAG,IAStE,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,IAShE,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,gBAAgB,MAAM,KACrB,qBAAqB,GAAG,IAe1B,CAAC;AAIF,eAAO,MAAM,6BAA6B,GACxC,UAAU,IAAI,CAAC,cAAc,KAC5B,qBAAqB,EAAE,GAAG,IAW5B,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,OAAO,MAAM,EACb,MAAM,MAAM,EACZ,SAAS,MAAM,KACd,MAAM,GAAG,IAOX,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,UAAU,IAAI,CAAC,cAAc,KAAG,OAWvE,CAAC"}
1
+ {"version":3,"file":"browserSdkLoaderHelper.d.ts","sourceRoot":"","sources":["../../../src/browserSdkLoader/browserSdkLoaderHelper.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,oBAAY,qBAAqB;IAC/B,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,EAAE,OAAO;CACV;AAGD,eAAO,MAAM,mBAAmB,UAS/B,CAAC;AAGF,eAAO,MAAM,iBAAiB,QAAO,OAGpC,CAAC;AAEF,eAAO,MAAM,SAAS,gCAAuB,CAAC;AAC9C,eAAO,MAAM,WAAW,kCAAyB,CAAC;AAClD,eAAO,MAAM,YAAY,mCAA0B,CAAC;AACpD,eAAO,MAAM,YAAY,mCAA0B,CAAC;AAGpD,eAAO,MAAM,sBAAsB,GAAI,YAAY,GAAG,KAAG,QAAQ,GAAG,IAMnE,CAAC;AAGF,eAAO,MAAM,qBAAqB,GAAI,YAAY,GAAG,KAAG,QAAQ,GAAG,IAOlE,CAAC;AAGF,eAAO,MAAM,wBAAwB,GAAI,YAAY,GAAG,KAAG,QAAQ,GAAG,IAMrE,CAAC;AAGF,eAAO,MAAM,uBAAuB,GAAI,YAAY,GAAG,KAAG,QAAQ,GAAG,IAOpE,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,KAAG,OAAO,GAAG,IAStE,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,IAShE,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,gBAAgB,MAAM,KACrB,qBAAqB,GAAG,IAe1B,CAAC;AAIF,eAAO,MAAM,6BAA6B,GACxC,UAAU,IAAI,CAAC,cAAc,KAC5B,qBAAqB,EAAE,GAAG,IAW5B,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,OAAO,MAAM,EACb,MAAM,MAAM,EACZ,SAAS,MAAM,KACd,MAAM,GAAG,IAOX,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,UAAU,IAAI,CAAC,cAAc,KAAG,OAWvE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"browserSdkLoaderHelper.js","sourceRoot":"","sources":["../../../src/browserSdkLoader/browserSdkLoaderHelper.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\nimport * as zlib from \"zlib\";\nimport { promisify } from \"node:util\";\nimport type * as http from \"node:http\";\n\n// currently support the following encoding types\nexport enum contentEncodingMethod {\n GZIP = \"gzip\",\n DEFLATE = \"deflate\",\n BR = \"br\",\n}\n\n// current supported encoding types\nexport const bufferEncodingTypes = [\n \"utf8\",\n \"utf16le\",\n \"latin1\",\n \"base64\",\n \"hex\",\n \"ascii\",\n \"binary\",\n \"ucs2\",\n];\n\n// for node version under 10, Brotli compression is not supported.\nexport const isBrotliSupported = (): boolean => {\n const majVer = process.versions.node.split(\".\")[0];\n return parseInt(majVer) >= 10;\n};\n\nexport const gzipAsync = promisify(zlib.gzip);\nexport const gunzipAsync = promisify(zlib.gunzip);\nexport const deflateAsync = promisify(zlib.deflate);\nexport const inflateAsync = promisify(zlib.inflate);\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\nexport const getBrotliCompressAsync = (zlibObject: any): Function | null => {\n const isMajorVer = isBrotliSupported();\n if (isMajorVer && typeof zlibObject.brotliCompress === \"function\") {\n return promisify(zlibObject.brotliCompress);\n }\n return null;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\nexport const getBrotliCompressSync = (zlibObject: any): Function | null => {\n const isMajorVer = isBrotliSupported();\n if (isMajorVer && typeof zlibObject.brotliCompressSync === \"function\") {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return zlibObject.brotliCompressSync;\n }\n return null;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\nexport const getBrotliDecompressAsync = (zlibObject: any): Function | null => {\n const isMajorVer = isBrotliSupported();\n if (isMajorVer && typeof zlibObject.brotliDecompress === \"function\") {\n return promisify(zlibObject.brotliDecompress);\n }\n return null;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\nexport const getBrotliDecompressSync = (zlibObject: any): Function | null => {\n const isMajorVer = isBrotliSupported();\n if (isMajorVer && typeof zlibObject.brotliDecompressSync === \"function\") {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return zlibObject.brotliDecompressSync;\n }\n return null;\n};\n\nexport const isBufferType = (buffer: Buffer, type?: string): boolean | null => {\n const encodingType = type ? type : \"utf8\";\n let result = false;\n if (Buffer.isEncoding(encodingType)) {\n const newBuffer = Buffer.from(buffer.toString(encodingType), encodingType);\n result = newBuffer.toJSON().data.toString() === buffer.toJSON().data.toString();\n }\n\n return result;\n};\n\nexport const findBufferEncodingType = (buffer: Buffer): string | null => {\n let bufferType = null;\n for (const type of bufferEncodingTypes) {\n if (Buffer.isEncoding(type) && isBufferType(buffer, type)) {\n bufferType = type;\n break;\n }\n }\n return bufferType;\n};\n\nexport const isSupportedContentEncoding = (\n encodingMethod: string,\n): contentEncodingMethod | null => {\n let encodingType = null;\n switch (encodingMethod) {\n case \"gzip\":\n encodingType = contentEncodingMethod.GZIP;\n break;\n case \"br\":\n encodingType = contentEncodingMethod.BR;\n break;\n case \"deflate\":\n encodingType = contentEncodingMethod.DEFLATE;\n break;\n default:\n }\n return encodingType;\n};\n\n// mutiple content-encoding is not supported\n// for mutiple content-encoding, this method will return any empty array\nexport const getContentEncodingFromHeaders = (\n response: http.ServerResponse,\n): contentEncodingMethod[] | null => {\n const headers: contentEncodingMethod[] = [];\n const contentEncodingHeaders = response.getHeader(\"Content-Encoding\");\n if (!contentEncodingHeaders) return null;\n if (typeof contentEncodingHeaders === \"string\") {\n const supportedContentEncoding = isSupportedContentEncoding(contentEncodingHeaders);\n if (supportedContentEncoding) {\n headers.push(supportedContentEncoding);\n }\n }\n return headers;\n};\n\nexport const insertBrowserSdkLoaderByIndex = (\n index: number,\n html: string,\n snippet: string,\n): string | null => {\n if (index < 0) return null;\n let newHtml = null;\n const subStart = html.substring(0, index);\n const subEnd = html.substring(index);\n newHtml = subStart + '<script type=\"text/javascript\">' + snippet + \"</script>\" + subEnd;\n return newHtml;\n};\n\nexport const isContentTypeHeaderHtml = (response: http.ServerResponse): boolean => {\n let isHtml = false;\n const contentType = response.getHeader(\"Content-Type\");\n if (contentType) {\n if (typeof contentType === \"string\") {\n isHtml = contentType.indexOf(\"html\") >= 0;\n } else {\n isHtml = contentType.toString().indexOf(\"html\") >= 0;\n }\n }\n return isHtml;\n};\n"]}
1
+ {"version":3,"file":"browserSdkLoaderHelper.js","sourceRoot":"","sources":["../../../src/browserSdkLoader/browserSdkLoaderHelper.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\nimport * as zlib from \"zlib\";\nimport { promisify } from \"node:util\";\nimport type http from \"node:http\";\n\n// currently support the following encoding types\nexport enum contentEncodingMethod {\n GZIP = \"gzip\",\n DEFLATE = \"deflate\",\n BR = \"br\",\n}\n\n// current supported encoding types\nexport const bufferEncodingTypes = [\n \"utf8\",\n \"utf16le\",\n \"latin1\",\n \"base64\",\n \"hex\",\n \"ascii\",\n \"binary\",\n \"ucs2\",\n];\n\n// for node version under 10, Brotli compression is not supported.\nexport const isBrotliSupported = (): boolean => {\n const majVer = process.versions.node.split(\".\")[0];\n return parseInt(majVer) >= 10;\n};\n\nexport const gzipAsync = promisify(zlib.gzip);\nexport const gunzipAsync = promisify(zlib.gunzip);\nexport const deflateAsync = promisify(zlib.deflate);\nexport const inflateAsync = promisify(zlib.inflate);\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\nexport const getBrotliCompressAsync = (zlibObject: any): Function | null => {\n const isMajorVer = isBrotliSupported();\n if (isMajorVer && typeof zlibObject.brotliCompress === \"function\") {\n return promisify(zlibObject.brotliCompress);\n }\n return null;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\nexport const getBrotliCompressSync = (zlibObject: any): Function | null => {\n const isMajorVer = isBrotliSupported();\n if (isMajorVer && typeof zlibObject.brotliCompressSync === \"function\") {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return zlibObject.brotliCompressSync;\n }\n return null;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\nexport const getBrotliDecompressAsync = (zlibObject: any): Function | null => {\n const isMajorVer = isBrotliSupported();\n if (isMajorVer && typeof zlibObject.brotliDecompress === \"function\") {\n return promisify(zlibObject.brotliDecompress);\n }\n return null;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\nexport const getBrotliDecompressSync = (zlibObject: any): Function | null => {\n const isMajorVer = isBrotliSupported();\n if (isMajorVer && typeof zlibObject.brotliDecompressSync === \"function\") {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return zlibObject.brotliDecompressSync;\n }\n return null;\n};\n\nexport const isBufferType = (buffer: Buffer, type?: string): boolean | null => {\n const encodingType = type ? type : \"utf8\";\n let result = false;\n if (Buffer.isEncoding(encodingType)) {\n const newBuffer = Buffer.from(buffer.toString(encodingType), encodingType);\n result = newBuffer.toJSON().data.toString() === buffer.toJSON().data.toString();\n }\n\n return result;\n};\n\nexport const findBufferEncodingType = (buffer: Buffer): string | null => {\n let bufferType = null;\n for (const type of bufferEncodingTypes) {\n if (Buffer.isEncoding(type) && isBufferType(buffer, type)) {\n bufferType = type;\n break;\n }\n }\n return bufferType;\n};\n\nexport const isSupportedContentEncoding = (\n encodingMethod: string,\n): contentEncodingMethod | null => {\n let encodingType = null;\n switch (encodingMethod) {\n case \"gzip\":\n encodingType = contentEncodingMethod.GZIP;\n break;\n case \"br\":\n encodingType = contentEncodingMethod.BR;\n break;\n case \"deflate\":\n encodingType = contentEncodingMethod.DEFLATE;\n break;\n default:\n }\n return encodingType;\n};\n\n// mutiple content-encoding is not supported\n// for mutiple content-encoding, this method will return any empty array\nexport const getContentEncodingFromHeaders = (\n response: http.ServerResponse,\n): contentEncodingMethod[] | null => {\n const headers: contentEncodingMethod[] = [];\n const contentEncodingHeaders = response.getHeader(\"Content-Encoding\");\n if (!contentEncodingHeaders) return null;\n if (typeof contentEncodingHeaders === \"string\") {\n const supportedContentEncoding = isSupportedContentEncoding(contentEncodingHeaders);\n if (supportedContentEncoding) {\n headers.push(supportedContentEncoding);\n }\n }\n return headers;\n};\n\nexport const insertBrowserSdkLoaderByIndex = (\n index: number,\n html: string,\n snippet: string,\n): string | null => {\n if (index < 0) return null;\n let newHtml = null;\n const subStart = html.substring(0, index);\n const subEnd = html.substring(index);\n newHtml = subStart + '<script type=\"text/javascript\">' + snippet + \"</script>\" + subEnd;\n return newHtml;\n};\n\nexport const isContentTypeHeaderHtml = (response: http.ServerResponse): boolean => {\n let isHtml = false;\n const contentType = response.getHeader(\"Content-Type\");\n if (contentType) {\n if (typeof contentType === \"string\") {\n isHtml = contentType.indexOf(\"html\") >= 0;\n } else {\n isHtml = contentType.toString().indexOf(\"html\") >= 0;\n }\n }\n return isHtml;\n};\n"]}
@@ -573,7 +573,9 @@ exports.Event = {
573
573
  className: "Event",
574
574
  uberParent: "DocumentIngress",
575
575
  polymorphicDiscriminator: exports.DocumentIngress.type.polymorphicDiscriminator,
576
- modelProperties: Object.assign(Object.assign({}, exports.DocumentIngress.type.modelProperties), { name: {
576
+ modelProperties: {
577
+ ...exports.DocumentIngress.type.modelProperties,
578
+ name: {
577
579
  constraints: {
578
580
  MaxLength: 512,
579
581
  },
@@ -581,7 +583,8 @@ exports.Event = {
581
583
  type: {
582
584
  name: "String",
583
585
  },
584
- } }),
586
+ },
587
+ },
585
588
  },
586
589
  };
587
590
  exports.Exception = {
@@ -591,7 +594,9 @@ exports.Exception = {
591
594
  className: "Exception",
592
595
  uberParent: "DocumentIngress",
593
596
  polymorphicDiscriminator: exports.DocumentIngress.type.polymorphicDiscriminator,
594
- modelProperties: Object.assign(Object.assign({}, exports.DocumentIngress.type.modelProperties), { exceptionType: {
597
+ modelProperties: {
598
+ ...exports.DocumentIngress.type.modelProperties,
599
+ exceptionType: {
595
600
  constraints: {
596
601
  MaxLength: 1024,
597
602
  },
@@ -599,7 +604,8 @@ exports.Exception = {
599
604
  type: {
600
605
  name: "String",
601
606
  },
602
- }, exceptionMessage: {
607
+ },
608
+ exceptionMessage: {
603
609
  constraints: {
604
610
  MaxLength: 32768,
605
611
  },
@@ -607,7 +613,8 @@ exports.Exception = {
607
613
  type: {
608
614
  name: "String",
609
615
  },
610
- } }),
616
+ },
617
+ },
611
618
  },
612
619
  };
613
620
  exports.RemoteDependency = {
@@ -617,7 +624,9 @@ exports.RemoteDependency = {
617
624
  className: "RemoteDependency",
618
625
  uberParent: "DocumentIngress",
619
626
  polymorphicDiscriminator: exports.DocumentIngress.type.polymorphicDiscriminator,
620
- modelProperties: Object.assign(Object.assign({}, exports.DocumentIngress.type.modelProperties), { name: {
627
+ modelProperties: {
628
+ ...exports.DocumentIngress.type.modelProperties,
629
+ name: {
621
630
  constraints: {
622
631
  MaxLength: 1024,
623
632
  },
@@ -625,7 +634,8 @@ exports.RemoteDependency = {
625
634
  type: {
626
635
  name: "String",
627
636
  },
628
- }, commandName: {
637
+ },
638
+ commandName: {
629
639
  constraints: {
630
640
  MaxLength: 2048,
631
641
  },
@@ -633,7 +643,8 @@ exports.RemoteDependency = {
633
643
  type: {
634
644
  name: "String",
635
645
  },
636
- }, resultCode: {
646
+ },
647
+ resultCode: {
637
648
  constraints: {
638
649
  MaxLength: 1024,
639
650
  },
@@ -641,12 +652,14 @@ exports.RemoteDependency = {
641
652
  type: {
642
653
  name: "String",
643
654
  },
644
- }, duration: {
655
+ },
656
+ duration: {
645
657
  serializedName: "Duration",
646
658
  type: {
647
659
  name: "String",
648
660
  },
649
- } }),
661
+ },
662
+ },
650
663
  },
651
664
  };
652
665
  exports.Request = {
@@ -656,7 +669,9 @@ exports.Request = {
656
669
  className: "Request",
657
670
  uberParent: "DocumentIngress",
658
671
  polymorphicDiscriminator: exports.DocumentIngress.type.polymorphicDiscriminator,
659
- modelProperties: Object.assign(Object.assign({}, exports.DocumentIngress.type.modelProperties), { name: {
672
+ modelProperties: {
673
+ ...exports.DocumentIngress.type.modelProperties,
674
+ name: {
660
675
  constraints: {
661
676
  MaxLength: 1024,
662
677
  },
@@ -664,7 +679,8 @@ exports.Request = {
664
679
  type: {
665
680
  name: "String",
666
681
  },
667
- }, url: {
682
+ },
683
+ url: {
668
684
  constraints: {
669
685
  MaxLength: 2048,
670
686
  },
@@ -672,7 +688,8 @@ exports.Request = {
672
688
  type: {
673
689
  name: "String",
674
690
  },
675
- }, responseCode: {
691
+ },
692
+ responseCode: {
676
693
  constraints: {
677
694
  MaxLength: 1024,
678
695
  },
@@ -680,12 +697,14 @@ exports.Request = {
680
697
  type: {
681
698
  name: "String",
682
699
  },
683
- }, duration: {
700
+ },
701
+ duration: {
684
702
  serializedName: "Duration",
685
703
  type: {
686
704
  name: "String",
687
705
  },
688
- } }),
706
+ },
707
+ },
689
708
  },
690
709
  };
691
710
  exports.Trace = {
@@ -695,7 +714,9 @@ exports.Trace = {
695
714
  className: "Trace",
696
715
  uberParent: "DocumentIngress",
697
716
  polymorphicDiscriminator: exports.DocumentIngress.type.polymorphicDiscriminator,
698
- modelProperties: Object.assign(Object.assign({}, exports.DocumentIngress.type.modelProperties), { message: {
717
+ modelProperties: {
718
+ ...exports.DocumentIngress.type.modelProperties,
719
+ message: {
699
720
  constraints: {
700
721
  MaxLength: 32768,
701
722
  },
@@ -703,7 +724,8 @@ exports.Trace = {
703
724
  type: {
704
725
  name: "String",
705
726
  },
706
- } }),
727
+ },
728
+ },
707
729
  },
708
730
  };
709
731
  exports.QuickpulseClientIsSubscribedHeaders = {