@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.
- package/README.md +9 -9
- package/dist/commonjs/browserSdkLoader/browserSdkLoader.js +16 -17
- package/dist/commonjs/browserSdkLoader/browserSdkLoader.js.map +1 -1
- package/dist/commonjs/browserSdkLoader/browserSdkLoaderHelper.d.ts +1 -1
- package/dist/commonjs/browserSdkLoader/browserSdkLoaderHelper.d.ts.map +1 -1
- package/dist/commonjs/browserSdkLoader/browserSdkLoaderHelper.js.map +1 -1
- package/dist/commonjs/generated/models/mappers.js +39 -17
- package/dist/commonjs/generated/models/mappers.js.map +1 -1
- package/dist/commonjs/generated/quickpulseClient.js +8 -3
- package/dist/commonjs/generated/quickpulseClient.js.map +1 -1
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +15 -14
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/logs/batchLogRecordProcessor.js +1 -0
- package/dist/commonjs/logs/batchLogRecordProcessor.js.map +1 -1
- package/dist/commonjs/logs/handler.js +16 -5
- package/dist/commonjs/logs/handler.js.map +1 -1
- package/dist/commonjs/logs/logRecordProcessor.js +1 -0
- package/dist/commonjs/logs/logRecordProcessor.js.map +1 -1
- package/dist/commonjs/metrics/handler.d.ts +1 -4
- package/dist/commonjs/metrics/handler.d.ts.map +1 -1
- package/dist/commonjs/metrics/handler.js +27 -25
- package/dist/commonjs/metrics/handler.js.map +1 -1
- package/dist/commonjs/metrics/performanceCounters.js +47 -23
- package/dist/commonjs/metrics/performanceCounters.js.map +1 -1
- package/dist/commonjs/metrics/quickpulse/export/exporter.js +8 -0
- package/dist/commonjs/metrics/quickpulse/export/exporter.js.map +1 -1
- package/dist/commonjs/metrics/quickpulse/export/sender.js +4 -0
- package/dist/commonjs/metrics/quickpulse/export/sender.js.map +1 -1
- package/dist/commonjs/metrics/quickpulse/filtering/collectionConfigurationErrorTracker.js +12 -12
- package/dist/commonjs/metrics/quickpulse/filtering/collectionConfigurationErrorTracker.js.map +1 -1
- package/dist/commonjs/metrics/quickpulse/filtering/projection.js +4 -0
- package/dist/commonjs/metrics/quickpulse/filtering/projection.js.map +1 -1
- package/dist/commonjs/metrics/quickpulse/liveMetrics.d.ts.map +1 -1
- package/dist/commonjs/metrics/quickpulse/liveMetrics.js +70 -53
- package/dist/commonjs/metrics/quickpulse/liveMetrics.js.map +1 -1
- package/dist/commonjs/metrics/quickpulse/types.d.ts +1 -1
- package/dist/commonjs/metrics/quickpulse/utils.d.ts.map +1 -1
- package/dist/commonjs/metrics/quickpulse/utils.js +9 -5
- package/dist/commonjs/metrics/quickpulse/utils.js.map +1 -1
- package/dist/commonjs/metrics/standardMetrics.js +11 -2
- package/dist/commonjs/metrics/standardMetrics.js.map +1 -1
- package/dist/commonjs/metrics/utils.d.ts.map +1 -1
- package/dist/commonjs/metrics/utils.js +11 -12
- package/dist/commonjs/metrics/utils.js.map +1 -1
- package/dist/commonjs/shared/config.d.ts +14 -1
- package/dist/commonjs/shared/config.d.ts.map +1 -1
- package/dist/commonjs/shared/config.js +82 -7
- package/dist/commonjs/shared/config.js.map +1 -1
- package/dist/commonjs/shared/envConfig.d.ts +19 -0
- package/dist/commonjs/shared/envConfig.d.ts.map +1 -0
- package/dist/commonjs/shared/envConfig.js +57 -0
- package/dist/commonjs/shared/envConfig.js.map +1 -0
- package/dist/commonjs/shared/jsonConfig.d.ts +2 -0
- package/dist/commonjs/shared/jsonConfig.d.ts.map +1 -1
- package/dist/commonjs/shared/jsonConfig.js +29 -7
- package/dist/commonjs/shared/jsonConfig.js.map +1 -1
- package/dist/commonjs/shared/logging/diagFileConsoleLogger.d.ts +5 -0
- package/dist/commonjs/shared/logging/diagFileConsoleLogger.d.ts.map +1 -1
- package/dist/commonjs/shared/logging/diagFileConsoleLogger.js +71 -18
- package/dist/commonjs/shared/logging/diagFileConsoleLogger.js.map +1 -1
- package/dist/commonjs/shared/logging/logger.js +6 -0
- package/dist/commonjs/shared/logging/logger.js.map +1 -1
- package/dist/commonjs/traces/azureFnHook.js +2 -0
- package/dist/commonjs/traces/azureFnHook.js.map +1 -1
- package/dist/commonjs/traces/handler.d.ts +3 -3
- package/dist/commonjs/traces/handler.d.ts.map +1 -1
- package/dist/commonjs/traces/handler.js +25 -10
- package/dist/commonjs/traces/handler.js.map +1 -1
- package/dist/commonjs/traces/sampler.js +2 -0
- package/dist/commonjs/traces/sampler.js.map +1 -1
- package/dist/commonjs/traces/spanProcessor.js +1 -0
- package/dist/commonjs/traces/spanProcessor.js.map +1 -1
- package/dist/commonjs/tsdoc-metadata.json +11 -11
- package/dist/commonjs/types.d.ts +14 -2
- package/dist/commonjs/types.d.ts.map +1 -1
- package/dist/commonjs/types.js +6 -1
- package/dist/commonjs/types.js.map +1 -1
- package/dist/commonjs/utils/common.d.ts +1 -1
- package/dist/commonjs/utils/common.d.ts.map +1 -1
- package/dist/commonjs/utils/common.js +1 -2
- package/dist/commonjs/utils/common.js.map +1 -1
- package/dist/commonjs/utils/connectionStringParser.js +3 -3
- package/dist/commonjs/utils/connectionStringParser.js.map +1 -1
- package/dist/commonjs/utils/fileSystem.d.ts +1 -1
- package/dist/commonjs/utils/fileSystem.d.ts.map +1 -1
- package/dist/commonjs/utils/fileSystem.js +14 -14
- package/dist/commonjs/utils/fileSystem.js.map +1 -1
- package/dist/commonjs/utils/statsbeat.js +94 -61
- package/dist/commonjs/utils/statsbeat.js.map +1 -1
- package/dist/esm/browserSdkLoader/browserSdkLoader.js +16 -17
- package/dist/esm/browserSdkLoader/browserSdkLoader.js.map +1 -1
- package/dist/esm/browserSdkLoader/browserSdkLoaderHelper.d.ts +1 -1
- package/dist/esm/browserSdkLoader/browserSdkLoaderHelper.d.ts.map +1 -1
- package/dist/esm/browserSdkLoader/browserSdkLoaderHelper.js.map +1 -1
- package/dist/esm/generated/models/mappers.js +39 -17
- package/dist/esm/generated/models/mappers.js.map +1 -1
- package/dist/esm/generated/quickpulseClient.js +8 -3
- package/dist/esm/generated/quickpulseClient.js.map +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +16 -15
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/logs/batchLogRecordProcessor.js +1 -0
- package/dist/esm/logs/batchLogRecordProcessor.js.map +1 -1
- package/dist/esm/logs/handler.js +16 -5
- package/dist/esm/logs/handler.js.map +1 -1
- package/dist/esm/logs/logRecordProcessor.js +1 -0
- package/dist/esm/logs/logRecordProcessor.js.map +1 -1
- package/dist/esm/metrics/handler.d.ts +1 -4
- package/dist/esm/metrics/handler.d.ts.map +1 -1
- package/dist/esm/metrics/handler.js +27 -25
- package/dist/esm/metrics/handler.js.map +1 -1
- package/dist/esm/metrics/performanceCounters.js +33 -9
- package/dist/esm/metrics/performanceCounters.js.map +1 -1
- package/dist/esm/metrics/quickpulse/export/exporter.js +8 -0
- package/dist/esm/metrics/quickpulse/export/exporter.js.map +1 -1
- package/dist/esm/metrics/quickpulse/export/sender.js +4 -0
- package/dist/esm/metrics/quickpulse/export/sender.js.map +1 -1
- package/dist/esm/metrics/quickpulse/filtering/collectionConfigurationErrorTracker.js +12 -12
- package/dist/esm/metrics/quickpulse/filtering/collectionConfigurationErrorTracker.js.map +1 -1
- package/dist/esm/metrics/quickpulse/filtering/projection.js +4 -0
- package/dist/esm/metrics/quickpulse/filtering/projection.js.map +1 -1
- package/dist/esm/metrics/quickpulse/liveMetrics.d.ts.map +1 -1
- package/dist/esm/metrics/quickpulse/liveMetrics.js +69 -52
- package/dist/esm/metrics/quickpulse/liveMetrics.js.map +1 -1
- package/dist/esm/metrics/quickpulse/types.d.ts +1 -1
- package/dist/esm/metrics/quickpulse/utils.d.ts.map +1 -1
- package/dist/esm/metrics/quickpulse/utils.js +9 -5
- package/dist/esm/metrics/quickpulse/utils.js.map +1 -1
- package/dist/esm/metrics/standardMetrics.js +11 -2
- package/dist/esm/metrics/standardMetrics.js.map +1 -1
- package/dist/esm/metrics/utils.d.ts.map +1 -1
- package/dist/esm/metrics/utils.js +4 -5
- package/dist/esm/metrics/utils.js.map +1 -1
- package/dist/esm/shared/config.d.ts +14 -1
- package/dist/esm/shared/config.d.ts.map +1 -1
- package/dist/esm/shared/config.js +82 -7
- package/dist/esm/shared/config.js.map +1 -1
- package/dist/esm/shared/envConfig.d.ts +19 -0
- package/dist/esm/shared/envConfig.d.ts.map +1 -0
- package/dist/esm/shared/envConfig.js +53 -0
- package/dist/esm/shared/envConfig.js.map +1 -0
- package/dist/esm/shared/jsonConfig.d.ts +2 -0
- package/dist/esm/shared/jsonConfig.d.ts.map +1 -1
- package/dist/esm/shared/jsonConfig.js +24 -2
- package/dist/esm/shared/jsonConfig.js.map +1 -1
- package/dist/esm/shared/logging/diagFileConsoleLogger.d.ts +5 -0
- package/dist/esm/shared/logging/diagFileConsoleLogger.d.ts.map +1 -1
- package/dist/esm/shared/logging/diagFileConsoleLogger.js +63 -10
- package/dist/esm/shared/logging/diagFileConsoleLogger.js.map +1 -1
- package/dist/esm/shared/logging/logger.js +6 -0
- package/dist/esm/shared/logging/logger.js.map +1 -1
- package/dist/esm/traces/azureFnHook.js +2 -0
- package/dist/esm/traces/azureFnHook.js.map +1 -1
- package/dist/esm/traces/handler.d.ts +3 -3
- package/dist/esm/traces/handler.d.ts.map +1 -1
- package/dist/esm/traces/handler.js +26 -11
- package/dist/esm/traces/handler.js.map +1 -1
- package/dist/esm/traces/sampler.js +2 -0
- package/dist/esm/traces/sampler.js.map +1 -1
- package/dist/esm/traces/spanProcessor.js +1 -0
- package/dist/esm/traces/spanProcessor.js.map +1 -1
- package/dist/esm/types.d.ts +14 -2
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +6 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/utils/common.d.ts +1 -1
- package/dist/esm/utils/common.d.ts.map +1 -1
- package/dist/esm/utils/common.js +1 -2
- package/dist/esm/utils/common.js.map +1 -1
- package/dist/esm/utils/connectionStringParser.js +3 -3
- package/dist/esm/utils/connectionStringParser.js.map +1 -1
- package/dist/esm/utils/fileSystem.d.ts +1 -1
- package/dist/esm/utils/fileSystem.d.ts.map +1 -1
- package/dist/esm/utils/fileSystem.js +2 -2
- package/dist/esm/utils/fileSystem.js.map +1 -1
- package/dist/esm/utils/statsbeat.js +94 -61
- package/dist/esm/utils/statsbeat.js.map +1 -1
- 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/
|
|
205
|
-
- [MySQL](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/
|
|
206
|
-
- [Postgres](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/
|
|
207
|
-
- [Redis](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/
|
|
208
|
-
- [Redis-4](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/
|
|
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/
|
|
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/
|
|
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/
|
|
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
|
|
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 (
|
|
31
|
-
clientWebIkey = this._getBrowserSdkLoaderIkey(
|
|
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 (
|
|
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] =
|
|
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 (
|
|
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] =
|
|
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 (
|
|
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] =
|
|
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 (
|
|
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] =
|
|
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":"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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
|
+
{"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 +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,
|
|
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
|
|
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:
|
|
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:
|
|
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
|
-
},
|
|
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:
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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:
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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:
|
|
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 = {
|