@microsoft/applicationinsights-dependencies-js 2.8.0-nightly.2204-06 → 2.8.0-nightly.2204-09

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.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Microsoft Application Insights XHR dependencies plugin, 2.8.0-nightly.2204-06
2
+ * Microsoft Application Insights XHR dependencies plugin, 2.8.0-nightly.2204-09
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  *
5
5
  * Microsoft Application Insights Team
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.0-nightly.2204-06
2
+ * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.0-nightly.2204-09
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -313,6 +313,16 @@
313
313
  function _doNothing(value) {
314
314
  return value;
315
315
  }
316
+ function deepFreeze(obj) {
317
+ if (_objFreeze) {
318
+ objForEachKey(obj, function (name, value) {
319
+ if (isArray(value) || isObject(value)) {
320
+ _objFreeze(value);
321
+ }
322
+ });
323
+ }
324
+ return objFreeze(obj);
325
+ }
316
326
  var objFreeze = _objFreeze || _doNothing;
317
327
  function dateNow() {
318
328
  var dt = Date;
@@ -329,6 +339,9 @@
329
339
  }
330
340
  return theValue;
331
341
  }
342
+ function throwError(message) {
343
+ throw new Error(message);
344
+ }
332
345
  function _createProxyFunction(source, funcName) {
333
346
  var srcFunc = null;
334
347
  var src = null;
@@ -400,6 +413,15 @@
400
413
  return extended;
401
414
  }
402
415
 
416
+ function createValueMap(values) {
417
+ var mapClass = {};
418
+ objForEachKey(values, function (field, value) {
419
+ mapClass[field] = value[1];
420
+ mapClass[value[0]] = value[1];
421
+ });
422
+ return deepFreeze(mapClass);
423
+ }
424
+
403
425
  /*!
404
426
  * Microsoft Dynamic Proto Utility, 1.1.4
405
427
  * Copyright (c) Microsoft and contributors. All rights reserved.
@@ -1127,7 +1149,7 @@
1127
1149
  }
1128
1150
 
1129
1151
  var _objDefineProperty = ObjDefineProperty;
1130
- var version = "2.8.0-nightly.2204-06";
1152
+ var version = "2.8.0-nightly.2204-09";
1131
1153
  var instanceName = "." + newId(6);
1132
1154
  var _dataUid = 0;
1133
1155
  function _createAccessor(target, prop, value) {
@@ -1991,17 +2013,17 @@
1991
2013
  return null;
1992
2014
  }
1993
2015
 
1994
- var RequestHeaders = {
1995
- requestContextHeader: "Request-Context",
1996
- requestContextTargetKey: "appId",
1997
- requestContextAppIdFormat: "appId=cid-v1:",
1998
- requestIdHeader: "Request-Id",
1999
- traceParentHeader: "traceparent",
2000
- traceStateHeader: "tracestate",
2001
- sdkContextHeader: "Sdk-Context",
2002
- sdkContextHeaderAppIdRequest: "appId",
2003
- requestContextHeaderLowerCase: "request-context"
2004
- };
2016
+ var RequestHeaders = createValueMap({
2017
+ requestContextHeader: [0 , "Request-Context"],
2018
+ requestContextTargetKey: [1 , "appId"],
2019
+ requestContextAppIdFormat: [2 , "appId=cid-v1:"],
2020
+ requestIdHeader: [3 , "Request-Id"],
2021
+ traceParentHeader: [4 , "traceparent"],
2022
+ traceStateHeader: [5 , "tracestate"],
2023
+ sdkContextHeader: [6 , "Sdk-Context"],
2024
+ sdkContextHeaderAppIdRequest: [7 , "appId"],
2025
+ requestContextHeaderLowerCase: [8 , "request-context"]
2026
+ });
2005
2027
 
2006
2028
  function dataSanitizeKeyAndAddUniqueness(logger, key, map) {
2007
2029
  var origLength = key.length;
@@ -2233,7 +2255,7 @@
2233
2255
  },
2234
2256
  getCorrelationContext: function (responseHeader) {
2235
2257
  if (responseHeader) {
2236
- var correlationId = CorrelationIdHelper.getCorrelationContextValue(responseHeader, RequestHeaders.requestContextTargetKey);
2258
+ var correlationId = CorrelationIdHelper.getCorrelationContextValue(responseHeader, RequestHeaders[1 ]);
2237
2259
  if (correlationId && correlationId !== CorrelationIdHelper.correlationIdPrefix) {
2238
2260
  return correlationId;
2239
2261
  }
@@ -2346,40 +2368,90 @@
2346
2368
  return RemoteDependencyData;
2347
2369
  }());
2348
2370
 
2349
- var TelemetryItemCreator = /** @class */ (function () {
2350
- function TelemetryItemCreator() {
2351
- }
2352
- TelemetryItemCreator.create = function (item, baseType, envelopeName, logger, customProperties, systemProperties) {
2353
- envelopeName = dataSanitizeString(logger, envelopeName) || strNotSpecified;
2354
- if (isNullOrUndefined(item) ||
2355
- isNullOrUndefined(baseType) ||
2356
- isNullOrUndefined(envelopeName)) {
2357
- throw Error("Input doesn't contain all required fields");
2358
- }
2359
- var iKey = "";
2360
- if (item[strIkey]) {
2361
- iKey = item[strIkey];
2362
- delete item[strIkey];
2363
- }
2364
- var telemetryItem = {
2365
- name: envelopeName,
2366
- time: toISOString(new Date()),
2367
- iKey: iKey,
2368
- ext: systemProperties ? systemProperties : {},
2369
- tags: [],
2370
- data: {},
2371
- baseType: baseType,
2372
- baseData: item
2373
- };
2374
- if (!isNullOrUndefined(customProperties)) {
2375
- objForEachKey(customProperties, function (prop, value) {
2376
- telemetryItem.data[prop] = value;
2377
- });
2378
- }
2379
- return telemetryItem;
2371
+ function createTelemetryItem(item, baseType, envelopeName, logger, customProperties, systemProperties) {
2372
+ envelopeName = dataSanitizeString(logger, envelopeName) || strNotSpecified;
2373
+ if (isNullOrUndefined(item) ||
2374
+ isNullOrUndefined(baseType) ||
2375
+ isNullOrUndefined(envelopeName)) {
2376
+ throwError("Input doesn't contain all required fields");
2377
+ }
2378
+ var iKey = "";
2379
+ if (item[strIkey]) {
2380
+ iKey = item[strIkey];
2381
+ delete item[strIkey];
2382
+ }
2383
+ var telemetryItem = {
2384
+ name: envelopeName,
2385
+ time: toISOString(new Date()),
2386
+ iKey: iKey,
2387
+ ext: systemProperties ? systemProperties : {},
2388
+ tags: [],
2389
+ data: {},
2390
+ baseType: baseType,
2391
+ baseData: item
2380
2392
  };
2381
- return TelemetryItemCreator;
2382
- }());
2393
+ if (!isNullOrUndefined(customProperties)) {
2394
+ objForEachKey(customProperties, function (prop, value) {
2395
+ telemetryItem.data[prop] = value;
2396
+ });
2397
+ }
2398
+ return telemetryItem;
2399
+ }
2400
+
2401
+ var DEFAULT_VERSION = "00";
2402
+ var INVALID_VERSION = "ff";
2403
+ var INVALID_TRACE_ID = "00000000000000000000000000000000";
2404
+ var INVALID_SPAN_ID = "0000000000000000";
2405
+ function _isValid(value, len, invalidValue) {
2406
+ if (value && value.length === len && value !== invalidValue) {
2407
+ return !!value.match(/^[\da-f]*$/);
2408
+ }
2409
+ return false;
2410
+ }
2411
+ function _formatValue(value, len, defValue) {
2412
+ if (_isValid(value, len)) {
2413
+ return value;
2414
+ }
2415
+ return defValue;
2416
+ }
2417
+ function _formatFlags(value) {
2418
+ if (isNaN(value) || value < 0 || value > 255) {
2419
+ value = 0x01;
2420
+ }
2421
+ var result = value.toString(16);
2422
+ while (result.length < 2) {
2423
+ result = "0" + result;
2424
+ }
2425
+ return result;
2426
+ }
2427
+ function createTraceParent(traceId, spanId, flags, version) {
2428
+ return {
2429
+ version: _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,
2430
+ traceId: isValidTraceId(traceId) ? traceId : generateW3CId(),
2431
+ spanId: isValidSpanId(spanId) ? spanId : generateW3CId().substr(0, 16),
2432
+ traceFlags: flags >= 0 && flags <= 0xFF ? flags : 1
2433
+ };
2434
+ }
2435
+ function isValidTraceId(value) {
2436
+ return _isValid(value, 32, INVALID_TRACE_ID);
2437
+ }
2438
+ function isValidSpanId(value) {
2439
+ return _isValid(value, 16, INVALID_SPAN_ID);
2440
+ }
2441
+ function formatTraceParent(value) {
2442
+ if (value) {
2443
+ var flags = _formatFlags(value.traceFlags);
2444
+ if (!_isValid(flags, 2)) {
2445
+ flags = "01";
2446
+ }
2447
+ var version = value.version || DEFAULT_VERSION;
2448
+ if (version !== "00" && version !== "ff") {
2449
+ version = DEFAULT_VERSION;
2450
+ }
2451
+ return "".concat(version, "-").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID), "-").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID), "-").concat(flags);
2452
+ }
2453
+ return "";
2454
+ }
2383
2455
 
2384
2456
  var PropertiesPluginIdentifier = "AppInsightsPropertiesPlugin";
2385
2457
 
@@ -2593,43 +2665,9 @@
2593
2665
  return ajaxRecord;
2594
2666
  }());
2595
2667
 
2596
- var Traceparent = /** @class */ (function () {
2597
- function Traceparent(traceId, spanId) {
2598
- var self = this;
2599
- self.traceFlag = Traceparent.DEFAULT_TRACE_FLAG;
2600
- self.version = Traceparent.DEFAULT_VERSION;
2601
- if (traceId && Traceparent.isValidTraceId(traceId)) {
2602
- self.traceId = traceId;
2603
- }
2604
- else {
2605
- self.traceId = generateW3CId();
2606
- }
2607
- if (spanId && Traceparent.isValidSpanId(spanId)) {
2608
- self.spanId = spanId;
2609
- }
2610
- else {
2611
- self.spanId = generateW3CId().substr(0, 16);
2612
- }
2613
- }
2614
- Traceparent.isValidTraceId = function (id) {
2615
- return id.match(/^[0-9a-f]{32}$/) && id !== "00000000000000000000000000000000";
2616
- };
2617
- Traceparent.isValidSpanId = function (id) {
2618
- return id.match(/^[0-9a-f]{16}$/) && id !== "0000000000000000";
2619
- };
2620
- Traceparent.prototype.toString = function () {
2621
- var self = this;
2622
- return "".concat(self.version, "-").concat(self.traceId, "-").concat(self.spanId, "-").concat(self.traceFlag);
2623
- };
2624
- Traceparent.DEFAULT_TRACE_FLAG = "01";
2625
- Traceparent.DEFAULT_VERSION = "00";
2626
- return Traceparent;
2627
- }());
2628
-
2629
2668
  var AJAX_MONITOR_PREFIX = "ai.ajxmn.";
2630
2669
  var strDiagLog = "diagLog";
2631
2670
  var strAjaxData = "ajaxData";
2632
- var strThrowInternal = "throwInternal";
2633
2671
  var strFetch = "fetch";
2634
2672
  var strTrackDependencyDataInternal = "trackDependencyDataInternal";
2635
2673
  var _markCount = 0;
@@ -2686,10 +2724,10 @@
2686
2724
  return result;
2687
2725
  }
2688
2726
  function _throwInternalCritical(ajaxMonitorInstance, msgId, message, properties, isUserAct) {
2689
- ajaxMonitorInstance[strDiagLog]()[strThrowInternal](1 , msgId, message, properties, isUserAct);
2727
+ _throwInternal(ajaxMonitorInstance[strDiagLog](), 1 , msgId, message, properties, isUserAct);
2690
2728
  }
2691
2729
  function _throwInternalWarning(ajaxMonitorInstance, msgId, message, properties, isUserAct) {
2692
- ajaxMonitorInstance[strDiagLog]()[strThrowInternal](2 , msgId, message, properties, isUserAct);
2730
+ _throwInternal(ajaxMonitorInstance[strDiagLog](), 2 , msgId, message, properties, isUserAct);
2693
2731
  }
2694
2732
  function _createErrorCallbackFunc(ajaxMonitorInstance, internalMessage, message) {
2695
2733
  return function (args) {
@@ -2760,23 +2798,23 @@
2760
2798
  init.headers = new Headers(init.headers || (input instanceof Request ? (input.headers || {}) : {}));
2761
2799
  if (_isUsingAIHeaders) {
2762
2800
  var id = "|" + ajaxData.traceID + "." + ajaxData.spanID;
2763
- init.headers.set(RequestHeaders.requestIdHeader, id);
2801
+ init.headers.set(RequestHeaders[3 ], id);
2764
2802
  if (_enableRequestHeaderTracking) {
2765
- ajaxData.requestHeaders[RequestHeaders.requestIdHeader] = id;
2803
+ ajaxData.requestHeaders[RequestHeaders[3 ]] = id;
2766
2804
  }
2767
2805
  }
2768
2806
  var appId = _config.appId || (_context && _context.appId());
2769
2807
  if (appId) {
2770
- init.headers.set(RequestHeaders.requestContextHeader, RequestHeaders.requestContextAppIdFormat + appId);
2808
+ init.headers.set(RequestHeaders[0 ], RequestHeaders[2 ] + appId);
2771
2809
  if (_enableRequestHeaderTracking) {
2772
- ajaxData.requestHeaders[RequestHeaders.requestContextHeader] = RequestHeaders.requestContextAppIdFormat + appId;
2810
+ ajaxData.requestHeaders[RequestHeaders[0 ]] = RequestHeaders[2 ] + appId;
2773
2811
  }
2774
2812
  }
2775
2813
  if (_isUsingW3CHeaders) {
2776
- var traceparent = new Traceparent(ajaxData.traceID, ajaxData.spanID);
2777
- init.headers.set(RequestHeaders.traceParentHeader, traceparent.toString());
2814
+ var traceParent = formatTraceParent(createTraceParent(ajaxData.traceID, ajaxData.spanID, 0x01));
2815
+ init.headers.set(RequestHeaders[4 ], traceParent);
2778
2816
  if (_enableRequestHeaderTracking) {
2779
- ajaxData.requestHeaders[RequestHeaders.traceParentHeader] = traceparent.toString();
2817
+ ajaxData.requestHeaders[RequestHeaders[4 ]] = traceParent;
2780
2818
  }
2781
2819
  }
2782
2820
  }
@@ -2786,23 +2824,23 @@
2786
2824
  if (CorrelationIdHelper.canIncludeCorrelationHeader(_config, ajaxData.getAbsoluteUrl(), currentWindowHost)) {
2787
2825
  if (_isUsingAIHeaders) {
2788
2826
  var id = "|" + ajaxData.traceID + "." + ajaxData.spanID;
2789
- xhr.setRequestHeader(RequestHeaders.requestIdHeader, id);
2827
+ xhr.setRequestHeader(RequestHeaders[3 ], id);
2790
2828
  if (_enableRequestHeaderTracking) {
2791
- ajaxData.requestHeaders[RequestHeaders.requestIdHeader] = id;
2829
+ ajaxData.requestHeaders[RequestHeaders[3 ]] = id;
2792
2830
  }
2793
2831
  }
2794
2832
  var appId = _config.appId || (_context && _context.appId());
2795
2833
  if (appId) {
2796
- xhr.setRequestHeader(RequestHeaders.requestContextHeader, RequestHeaders.requestContextAppIdFormat + appId);
2834
+ xhr.setRequestHeader(RequestHeaders[0 ], RequestHeaders[2 ] + appId);
2797
2835
  if (_enableRequestHeaderTracking) {
2798
- ajaxData.requestHeaders[RequestHeaders.requestContextHeader] = RequestHeaders.requestContextAppIdFormat + appId;
2836
+ ajaxData.requestHeaders[RequestHeaders[0 ]] = RequestHeaders[2 ] + appId;
2799
2837
  }
2800
2838
  }
2801
2839
  if (_isUsingW3CHeaders) {
2802
- var traceparent = new Traceparent(ajaxData.traceID, ajaxData.spanID);
2803
- xhr.setRequestHeader(RequestHeaders.traceParentHeader, traceparent.toString());
2840
+ var traceParent = formatTraceParent(createTraceParent(ajaxData.traceID, ajaxData.spanID, 0x01));
2841
+ xhr.setRequestHeader(RequestHeaders[4 ], traceParent);
2804
2842
  if (_enableRequestHeaderTracking) {
2805
- ajaxData.requestHeaders[RequestHeaders.traceParentHeader] = traceparent.toString();
2843
+ ajaxData.requestHeaders[RequestHeaders[4 ]] = traceParent;
2806
2844
  }
2807
2845
  }
2808
2846
  }
@@ -2820,7 +2858,7 @@
2820
2858
  if (isNullOrUndefined(dependency.startTime)) {
2821
2859
  dependency.startTime = new Date();
2822
2860
  }
2823
- var item = TelemetryItemCreator.create(dependency, RemoteDependencyData.dataType, RemoteDependencyData.envelopeType, _self[strDiagLog](), properties, systemProperties);
2861
+ var item = createTelemetryItem(dependency, RemoteDependencyData.dataType, RemoteDependencyData.envelopeType, _self[strDiagLog](), properties, systemProperties);
2824
2862
  _self.core.track(item);
2825
2863
  }
2826
2864
  else if (_trackAjaxAttempts === _maxAjaxCallsPerView) {
@@ -3207,9 +3245,9 @@
3207
3245
  try {
3208
3246
  var responseHeadersString = xhr.getAllResponseHeaders();
3209
3247
  if (responseHeadersString !== null) {
3210
- var index = _indexOf(responseHeadersString.toLowerCase(), RequestHeaders.requestContextHeaderLowerCase);
3248
+ var index = _indexOf(responseHeadersString.toLowerCase(), RequestHeaders[8 ]);
3211
3249
  if (index !== -1) {
3212
- var responseHeader = xhr.getResponseHeader(RequestHeaders.requestContextHeader);
3250
+ var responseHeader = xhr.getResponseHeader(RequestHeaders[0 ]);
3213
3251
  return CorrelationIdHelper.getCorrelationContext(responseHeader);
3214
3252
  }
3215
3253
  }
@@ -3380,7 +3418,7 @@
3380
3418
  function _getFetchCorrelationContext(response) {
3381
3419
  if (response && response.headers) {
3382
3420
  try {
3383
- var responseHeader = response.headers.get(RequestHeaders.requestContextHeader);
3421
+ var responseHeader = response.headers.get(RequestHeaders[0 ]);
3384
3422
  return CorrelationIdHelper.getCorrelationContext(responseHeader);
3385
3423
  }
3386
3424
  catch (e) {