@microsoft/applicationinsights-web 3.0.0-beta.2208-19 → 3.0.0-beta.2209-03

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 (55) hide show
  1. package/README.md +2 -1
  2. package/browser/{ai.3.0.0-beta.2208-19.cjs.js → ai.3.0.0-beta.2209-03.cjs.js} +190 -115
  3. package/browser/ai.3.0.0-beta.2209-03.cjs.js.map +1 -0
  4. package/browser/ai.3.0.0-beta.2209-03.cjs.min.js +6 -0
  5. package/browser/ai.3.0.0-beta.2209-03.cjs.min.js.map +1 -0
  6. package/browser/{ai.3.0.0-beta.2208-19.gbl.js → ai.3.0.0-beta.2209-03.gbl.js} +190 -115
  7. package/browser/ai.3.0.0-beta.2209-03.gbl.js.map +1 -0
  8. package/browser/ai.3.0.0-beta.2209-03.gbl.min.js +6 -0
  9. package/browser/ai.3.0.0-beta.2209-03.gbl.min.js.map +1 -0
  10. package/browser/ai.3.0.0-beta.2209-03.integrity.json +66 -0
  11. package/browser/{ai.3.0.0-beta.2208-19.js → ai.3.0.0-beta.2209-03.js} +190 -115
  12. package/browser/ai.3.0.0-beta.2209-03.js.map +1 -0
  13. package/browser/ai.3.0.0-beta.2209-03.min.js +6 -0
  14. package/browser/ai.3.0.0-beta.2209-03.min.js.map +1 -0
  15. package/browser/ai.3.cjs.js +189 -114
  16. package/browser/ai.3.cjs.js.map +1 -1
  17. package/browser/ai.3.cjs.min.js +2 -2
  18. package/browser/ai.3.cjs.min.js.map +1 -1
  19. package/browser/ai.3.gbl.js +189 -114
  20. package/browser/ai.3.gbl.js.map +1 -1
  21. package/browser/ai.3.gbl.min.js +2 -2
  22. package/browser/ai.3.gbl.min.js.map +1 -1
  23. package/browser/ai.3.js +189 -114
  24. package/browser/ai.3.js.map +1 -1
  25. package/browser/ai.3.min.js +2 -2
  26. package/browser/ai.3.min.js.map +1 -1
  27. package/dist/applicationinsights-web.api.json +176 -32
  28. package/dist/applicationinsights-web.api.md +12 -6
  29. package/dist/applicationinsights-web.d.ts +108 -8
  30. package/dist/applicationinsights-web.js +189 -114
  31. package/dist/applicationinsights-web.js.map +1 -1
  32. package/dist/applicationinsights-web.min.js +2 -2
  33. package/dist/applicationinsights-web.min.js.map +1 -1
  34. package/dist/applicationinsights-web.rollup.d.ts +108 -8
  35. package/dist-esm/ApplicationInsightsContainer.js +1 -1
  36. package/dist-esm/Init.js +1 -1
  37. package/dist-esm/Initialization.js +14 -7
  38. package/dist-esm/Initialization.js.map +1 -1
  39. package/dist-esm/InternalConstants.js +1 -1
  40. package/dist-esm/__DynamicConstants.js +1 -1
  41. package/dist-esm/applicationinsights-web.js +1 -1
  42. package/package.json +7 -7
  43. package/src/Initialization.ts +17 -2
  44. package/types/Initialization.d.ts +10 -1
  45. package/types/tsdoc-metadata.json +1 -1
  46. package/browser/ai.3.0.0-beta.2208-19.cjs.js.map +0 -1
  47. package/browser/ai.3.0.0-beta.2208-19.cjs.min.js +0 -6
  48. package/browser/ai.3.0.0-beta.2208-19.cjs.min.js.map +0 -1
  49. package/browser/ai.3.0.0-beta.2208-19.gbl.js.map +0 -1
  50. package/browser/ai.3.0.0-beta.2208-19.gbl.min.js +0 -6
  51. package/browser/ai.3.0.0-beta.2208-19.gbl.min.js.map +0 -1
  52. package/browser/ai.3.0.0-beta.2208-19.integrity.json +0 -66
  53. package/browser/ai.3.0.0-beta.2208-19.js.map +0 -1
  54. package/browser/ai.3.0.0-beta.2208-19.min.js +0 -6
  55. package/browser/ai.3.0.0-beta.2208-19.min.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Web, 3.0.0-beta.2208-19
2
+ * Application Insights JavaScript SDK - Web, 3.0.0-beta.2209-03
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -486,14 +486,21 @@
486
486
  return _hasHistory ? history : getInst(HISTORY);
487
487
  }
488
488
 
489
+ var objGetOwnPropertyDescriptor = ObjClass.getOwnPropertyDescriptor;
490
+
489
491
  function objHasOwnProperty(obj, prop) {
490
492
  return obj && ObjProto[HAS_OWN_PROPERTY].call(obj, prop);
491
493
  }
492
494
 
495
+ var objHasOwn = ObjClass["hasOwn"] || polyObjHasOwn;
496
+ function polyObjHasOwn(obj, prop) {
497
+ return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
498
+ }
499
+
493
500
  function objForEachKey(theObject, callbackfn, thisArg) {
494
501
  if (theObject && isObject(theObject)) {
495
502
  for (var prop in theObject) {
496
- if (objHasOwnProperty(theObject, prop)) {
503
+ if (objHasOwn(theObject, prop)) {
497
504
  if (callbackfn.call(thisArg || theObject, prop, theObject[prop]) === -1) {
498
505
  break;
499
506
  }
@@ -766,6 +773,7 @@
766
773
  var _DYN_SET_NEXT_PLUGIN = "setNextPlugin";
767
774
  var _DYN_CREATE_NEW = "createNew";
768
775
  var _DYN_COOKIE_CFG = "cookieCfg";
776
+ var _DYN_INDEX_OF$1 = "indexOf";
769
777
  var _DYN_SUBSTRING$1 = "substring";
770
778
  var _DYN_USER_AGENT = "userAgent";
771
779
  var _DYN_SPLIT$1 = "split";
@@ -1601,7 +1609,7 @@
1601
1609
  }
1602
1610
 
1603
1611
  var _objDefineProperty = ObjDefineProperty;
1604
- var version = "3.0.0-beta.2208-19";
1612
+ var version = "3.0.0-beta.2209-03";
1605
1613
  var instanceName = "." + newId(6);
1606
1614
  var _dataUid = 0;
1607
1615
  function _createAccessor(target, prop, value) {
@@ -2434,6 +2442,20 @@
2434
2442
  }
2435
2443
  return cookieMgrCfg;
2436
2444
  }
2445
+ function _isIgnoredCookie(cookieMgrCfg, name) {
2446
+ if (name && cookieMgrCfg && isArray(cookieMgrCfg.ignoreCookies)) {
2447
+ return cookieMgrCfg.ignoreCookies[_DYN_INDEX_OF$1 ](name) !== -1;
2448
+ }
2449
+ return false;
2450
+ }
2451
+ function _isBlockedCookie(cookieMgrCfg, name) {
2452
+ if (name && cookieMgrCfg && isArray(cookieMgrCfg.blockedCookies)) {
2453
+ if (cookieMgrCfg.blockedCookies[_DYN_INDEX_OF$1 ](name) !== -1) {
2454
+ return true;
2455
+ }
2456
+ }
2457
+ return _isIgnoredCookie(cookieMgrCfg, name);
2458
+ }
2437
2459
  function safeGetCookieMgr(core, config) {
2438
2460
  var cookieMgr;
2439
2461
  if (core) {
@@ -2472,10 +2494,10 @@
2472
2494
  },
2473
2495
  set: function (name, value, maxAgeSec, domain, path) {
2474
2496
  var result = false;
2475
- if (_isMgrEnabled(cookieMgr)) {
2497
+ if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {
2476
2498
  var values = {};
2477
2499
  var theValue = strTrim(value || STR_EMPTY);
2478
- var idx = theValue.indexOf(";");
2500
+ var idx = theValue[_DYN_INDEX_OF$1 ](";");
2479
2501
  if (idx !== -1) {
2480
2502
  theValue = strTrim(value[_DYN_SUBSTRING$1 ](0, idx));
2481
2503
  values = _extractParts(value[_DYN_SUBSTRING$1 ](idx + 1));
@@ -2515,7 +2537,7 @@
2515
2537
  },
2516
2538
  get: function (name) {
2517
2539
  var value = STR_EMPTY;
2518
- if (_isMgrEnabled(cookieMgr)) {
2540
+ if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {
2519
2541
  value = (cookieMgrConfig.getCookie || _getCookieValue)(name);
2520
2542
  }
2521
2543
  return value;
@@ -2568,7 +2590,7 @@
2568
2590
  arrForEach(parts, function (thePart) {
2569
2591
  thePart = strTrim(thePart || STR_EMPTY);
2570
2592
  if (thePart) {
2571
- var idx = thePart.indexOf("=");
2593
+ var idx = thePart[_DYN_INDEX_OF$1 ]("=");
2572
2594
  if (idx === -1) {
2573
2595
  values[thePart] = null;
2574
2596
  }
@@ -4597,6 +4619,9 @@
4597
4619
  else if (window && window["opera"] && errorObj[strMessage]) {
4598
4620
  details = _getOperaStack(errorObj[_DYN_MESSAGE$1 ]);
4599
4621
  }
4622
+ else if (errorObj["reason"] && errorObj.reason[strStack]) {
4623
+ details = _convertStackObj(errorObj.reason[strStack]);
4624
+ }
4600
4625
  else if (isString(errorObj)) {
4601
4626
  details = _convertStackObj(errorObj);
4602
4627
  }
@@ -5882,7 +5907,7 @@
5882
5907
  }
5883
5908
  return value;
5884
5909
  }
5885
- function _getDefaultConfig(config) {
5910
+ function _getDefaultConfig$1(config) {
5886
5911
  if (!config) {
5887
5912
  config = {};
5888
5913
  }
@@ -6182,7 +6207,7 @@
6182
6207
  function _populateDefaults(config) {
6183
6208
  var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE$1 ]);
6184
6209
  var identifier = _self.identifier;
6185
- var defaults = _getDefaultConfig(config);
6210
+ var defaults = _getDefaultConfig$1(config);
6186
6211
  var extConfig = _self.config = ctx.getExtCfg(identifier);
6187
6212
  if (defaults !== undefined) {
6188
6213
  objForEachKey(defaults, function (field, value) {
@@ -6375,8 +6400,8 @@
6375
6400
  });
6376
6401
  return _this;
6377
6402
  }
6378
- AnalyticsPlugin.Version = "3.0.0-beta.2208-19";
6379
- AnalyticsPlugin.getDefaultConfig = _getDefaultConfig;
6403
+ AnalyticsPlugin.Version = "3.0.0-beta.2209-03";
6404
+ AnalyticsPlugin.getDefaultConfig = _getDefaultConfig$1;
6380
6405
  return AnalyticsPlugin;
6381
6406
  }(BaseTelemetryPlugin));
6382
6407
 
@@ -6548,7 +6573,7 @@
6548
6573
  }
6549
6574
  }
6550
6575
  var EnvelopeCreator = {
6551
- Version: "3.0.0-beta.2208-19"
6576
+ Version: "3.0.0-beta.2209-03"
6552
6577
  };
6553
6578
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
6554
6579
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -7899,17 +7924,17 @@
7899
7924
  var _DYN_TRACE_ID = "traceID";
7900
7925
  var _DYN_SPAN_ID = "spanID";
7901
7926
  var _DYN_TRACE_FLAGS = "traceFlags";
7902
- var _DYN_CORE = "core";
7927
+ var _DYN_CONTEXT$1 = "context";
7903
7928
  var _DYN_TRACE_ID0 = "traceId";
7904
7929
  var _DYN_SPAN_ID1 = "spanId";
7905
- var _DYN_GET_DEFAULT_CONFIG = "getDefaultConfig";
7906
- var _DYN_TRACK_DEPENDENCY_DAT2 = "trackDependencyDataInternal";
7907
- var _DYN_INCLUDE_CORRELATION_3 = "includeCorrelationHeaders";
7930
+ var _DYN_CORE = "core";
7931
+ var _DYN_INCLUDE_CORRELATION_2 = "includeCorrelationHeaders";
7908
7932
  var _DYN_GET_ABSOLUTE_URL = "getAbsoluteUrl";
7909
7933
  var _DYN_HEADERS = "headers";
7910
7934
  var _DYN_REQUEST_HEADERS = "requestHeaders";
7911
7935
  var _DYN_APP_ID = "appId";
7912
7936
  var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
7937
+ var _DYN_TRACK_DEPENDENCY_DAT3 = "trackDependencyDataInternal";
7913
7938
  var _DYN_DISTRIBUTED_TRACING_4 = "distributedTracingMode";
7914
7939
  var _DYN_START_TIME = "startTime";
7915
7940
  var _DYN_TO_LOWER_CASE = "toLowerCase";
@@ -8190,6 +8215,13 @@
8190
8215
  var strDiagLog = "diagLog";
8191
8216
  var strAjaxData = "ajaxData";
8192
8217
  var strFetch = "fetch";
8218
+ var ERROR_HEADER = "Failed to monitor XMLHttpRequest";
8219
+ var ERROR_PREFIX = ", monitoring data for this ajax call ";
8220
+ var ERROR_POSTFIX = ERROR_PREFIX + "may be incorrect.";
8221
+ var ERROR_NOT_SENT = ERROR_PREFIX + "won't be sent.";
8222
+ var CORRELATION_HEADER_ERROR = "Failed to get Request-Context correlation header as it may be not included in the response or not accessible.";
8223
+ var CUSTOM_REQUEST_CONTEXT_ERROR = "Failed to add custom defined request context as configured call back may missing a null check.";
8224
+ var FAILED_TO_CALCULATE_DURATION_ERROR = "Failed to calculate the duration of the ";
8193
8225
  var _markCount = 0;
8194
8226
  function _supportsFetch() {
8195
8227
  var _global = getGlobal$1();
@@ -8233,9 +8265,7 @@
8233
8265
  function _getFailedAjaxDiagnosticsMessage(xhr) {
8234
8266
  var result = "";
8235
8267
  try {
8236
- if (!isNullOrUndefined(xhr) &&
8237
- !isNullOrUndefined(xhr[strAjaxData]) &&
8238
- !isNullOrUndefined(xhr[strAjaxData][_DYN_REQUEST_URL ])) {
8268
+ if (xhr && xhr[strAjaxData] && xhr[strAjaxData][_DYN_REQUEST_URL ]) {
8239
8269
  result += "(url: '" + xhr[strAjaxData][_DYN_REQUEST_URL ] + "')";
8240
8270
  }
8241
8271
  }
@@ -8263,6 +8293,37 @@
8263
8293
  }
8264
8294
  return -1;
8265
8295
  }
8296
+ function _addHandler(container, id, theFunc) {
8297
+ var theHandler = {
8298
+ id: id,
8299
+ fn: theFunc
8300
+ };
8301
+ container.push(theHandler);
8302
+ return {
8303
+ remove: function () {
8304
+ arrForEach(container, function (initializer, idx) {
8305
+ if (initializer.id === theHandler.id) {
8306
+ container.splice(idx, 1);
8307
+ return -1;
8308
+ }
8309
+ });
8310
+ }
8311
+ };
8312
+ }
8313
+ function _processDependencyContainer(core, container, details, message) {
8314
+ var result = true;
8315
+ arrForEach(container, function (theFunc, idx) {
8316
+ try {
8317
+ if (theFunc.fn.call(null, details) === false) {
8318
+ result = false;
8319
+ }
8320
+ }
8321
+ catch (e) {
8322
+ _throwInternal(core && core.logger, 1 , 64 , "Dependency " + message + " [#" + idx + "] failed: " + getExceptionName(e), { exception: dumpObj(e) }, true);
8323
+ }
8324
+ });
8325
+ return result;
8326
+ }
8266
8327
  function _processDependencyListeners(listeners, core, ajaxData, xhr, input, init) {
8267
8328
  var _a;
8268
8329
  var initializersCount = listeners[_DYN_LENGTH$1 ];
@@ -8275,30 +8336,62 @@
8275
8336
  _a.traceId = ajaxData[_DYN_TRACE_ID ],
8276
8337
  _a.spanId = ajaxData[_DYN_SPAN_ID ],
8277
8338
  _a.traceFlags = ajaxData[_DYN_TRACE_FLAGS ],
8339
+ _a.context = ajaxData[_DYN_CONTEXT$1 ] || {},
8278
8340
  _a);
8279
- for (var i = 0; i < initializersCount; ++i) {
8280
- var dependencyListener = listeners[i];
8281
- if (dependencyListener && dependencyListener.fn) {
8282
- try {
8283
- dependencyListener.fn.call(null, details);
8284
- }
8285
- catch (e) {
8286
- var core_1 = details[_DYN_CORE ];
8287
- _throwInternal(core_1 && core_1.logger, 1 , 64 , "Dependency listener [#" + i + "] failed: " + getExceptionName(e), { exception: dumpObj(e) }, true);
8288
- }
8289
- }
8290
- }
8341
+ _processDependencyContainer(core, listeners, details, "listener");
8291
8342
  ajaxData[_DYN_TRACE_ID ] = details[_DYN_TRACE_ID0 ];
8292
8343
  ajaxData[_DYN_SPAN_ID ] = details[_DYN_SPAN_ID1 ];
8293
8344
  ajaxData[_DYN_TRACE_FLAGS ] = details[_DYN_TRACE_FLAGS ];
8345
+ ajaxData[_DYN_CONTEXT$1 ] = details[_DYN_CONTEXT$1 ];
8294
8346
  }
8295
8347
  }
8348
+ var BLOB_CORE = "*.blob.core.";
8296
8349
  var DfltAjaxCorrelationHeaderExDomains = objDeepFreeze([
8297
- "*.blob.core.windows.net",
8298
- "*.blob.core.chinacloudapi.cn",
8299
- "*.blob.core.cloudapi.de",
8300
- "*.blob.core.usgovcloudapi.net"
8350
+ BLOB_CORE + "windows.net",
8351
+ BLOB_CORE + "chinacloudapi.cn",
8352
+ BLOB_CORE + "cloudapi.de",
8353
+ BLOB_CORE + "usgovcloudapi.net"
8301
8354
  ]);
8355
+ var _internalExcludeEndpoints = [
8356
+ /https:\/\/[^\/]*(\.pipe\.aria|aria\.pipe|events\.data|collector\.azure)\.[^\/]+\/(OneCollector\/1|Collector\/3)\.0/i
8357
+ ];
8358
+ function _getDefaultConfig() {
8359
+ var _a;
8360
+ var config = (_a = {},
8361
+ _a[_DYN_MAX_AJAX_CALLS_PER_V8 ] = 500,
8362
+ _a[_DYN_DISABLE_AJAX_TRACKIN11 ] = false,
8363
+ _a[_DYN_DISABLE_FETCH_TRACKI12 ] = false,
8364
+ _a[_DYN_EXCLUDE_REQUEST_FROM10 ] = undefined,
8365
+ _a.disableCorrelationHeaders = false,
8366
+ _a.distributedTracingMode = 1 ,
8367
+ _a.correlationHeaderExcludedDomains = DfltAjaxCorrelationHeaderExDomains,
8368
+ _a.correlationHeaderDomains = undefined,
8369
+ _a.correlationHeaderExcludePatterns = undefined,
8370
+ _a[_DYN_APP_ID ] = undefined,
8371
+ _a.enableCorsCorrelation = false,
8372
+ _a[_DYN_ENABLE_REQUEST_HEADE5 ] = false,
8373
+ _a[_DYN_ENABLE_RESPONSE_HEAD9 ] = false,
8374
+ _a[_DYN_ENABLE_AJAX_ERROR_ST6 ] = false,
8375
+ _a[_DYN_ENABLE_AJAX_PERF_TRA7 ] = false,
8376
+ _a.maxAjaxPerfLookupAttempts = 3,
8377
+ _a[_DYN_AJAX_PERF_LOOKUP_DEL16 ] = 25,
8378
+ _a.ignoreHeaders = [
8379
+ "Authorization",
8380
+ "X-API-Key",
8381
+ "WWW-Authenticate"
8382
+ ],
8383
+ _a[_DYN_ADD_REQUEST_CONTEXT ] = undefined,
8384
+ _a.addIntEndpoints = true,
8385
+ _a);
8386
+ return config;
8387
+ }
8388
+ function _getEmptyConfig() {
8389
+ var emptyConfig = _getDefaultConfig();
8390
+ objForEachKey(emptyConfig, function (value) {
8391
+ emptyConfig[value] = undefined;
8392
+ });
8393
+ return emptyConfig;
8394
+ }
8302
8395
  var AjaxMonitor = /** @class */ (function (_super) {
8303
8396
  __extendsFn(AjaxMonitor, _super);
8304
8397
  function AjaxMonitor() {
@@ -8325,8 +8418,9 @@
8325
8418
  var _excludeRequestFromAutoTrackingPatterns;
8326
8419
  var _addRequestContext;
8327
8420
  var _evtNamespace;
8328
- var _dependencyListenerId;
8421
+ var _dependencyHandlerId;
8329
8422
  var _dependencyListeners;
8423
+ var _dependencyInitializers;
8330
8424
  dynamicProto(AjaxMonitor, _this, function (_self, _base) {
8331
8425
  var _addHook = _base._addHook;
8332
8426
  _initDefaults();
@@ -8344,9 +8438,9 @@
8344
8438
  _initDefaults();
8345
8439
  };
8346
8440
  _self.trackDependencyData = function (dependency, properties) {
8347
- _self[_DYN_TRACK_DEPENDENCY_DAT2 ](dependency, properties);
8441
+ _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], null, dependency, properties);
8348
8442
  };
8349
- _self[_DYN_INCLUDE_CORRELATION_3 ] = function (ajaxData, input, init, xhr) {
8443
+ _self[_DYN_INCLUDE_CORRELATION_2 ] = function (ajaxData, input, init, xhr) {
8350
8444
  var currentWindowHost = _self["_currentWindowHost"] || _currentWindowHost;
8351
8445
  _processDependencyListeners(_dependencyListeners, _self[_DYN_CORE ], ajaxData, xhr, input, init);
8352
8446
  if (input) {
@@ -8416,7 +8510,7 @@
8416
8510
  }
8417
8511
  return undefined;
8418
8512
  };
8419
- _self[_DYN_TRACK_DEPENDENCY_DAT2 ] = function (dependency, properties, systemProperties) {
8513
+ _self[_DYN_TRACK_DEPENDENCY_DAT3 ] = function (dependency, properties, systemProperties) {
8420
8514
  if (_maxAjaxCallsPerView === -1 || _trackAjaxAttempts < _maxAjaxCallsPerView) {
8421
8515
  if ((_config[_DYN_DISTRIBUTED_TRACING_4 ] === 2
8422
8516
  || _config[_DYN_DISTRIBUTED_TRACING_4 ] === 1 )
@@ -8435,22 +8529,10 @@
8435
8529
  ++_trackAjaxAttempts;
8436
8530
  };
8437
8531
  _self.addDependencyListener = function (dependencyListener) {
8438
- var theInitializer = {
8439
- id: _dependencyListenerId++,
8440
- fn: dependencyListener
8441
- };
8442
- _dependencyListeners.push(theInitializer);
8443
- var handler = {
8444
- remove: function () {
8445
- arrForEach(_dependencyListeners, function (initializer, idx) {
8446
- if (initializer.id === theInitializer.id) {
8447
- _dependencyListeners.splice(idx, 1);
8448
- return -1;
8449
- }
8450
- });
8451
- }
8452
- };
8453
- return handler;
8532
+ return _addHandler(_dependencyListeners, _dependencyHandlerId++, dependencyListener);
8533
+ };
8534
+ _self.addDependencyInitializer = function (dependencyInitializer) {
8535
+ return _addHandler(_dependencyInitializers, _dependencyHandlerId++, dependencyInitializer);
8454
8536
  };
8455
8537
  function _initDefaults() {
8456
8538
  var location = getLocation();
@@ -8474,13 +8556,14 @@
8474
8556
  _excludeRequestFromAutoTrackingPatterns = null;
8475
8557
  _addRequestContext = null;
8476
8558
  _evtNamespace = null;
8477
- _dependencyListenerId = 0;
8559
+ _dependencyHandlerId = 0;
8478
8560
  _dependencyListeners = [];
8561
+ _dependencyInitializers = [];
8479
8562
  }
8480
8563
  function _populateDefaults(config) {
8481
8564
  var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE ]);
8482
- _config = AjaxMonitor.getEmptyConfig();
8483
- var defaultConfig = AjaxMonitor[_DYN_GET_DEFAULT_CONFIG ]();
8565
+ _config = _getEmptyConfig();
8566
+ var defaultConfig = _getDefaultConfig();
8484
8567
  objForEachKey(defaultConfig, function (field, value) {
8485
8568
  _config[field] = ctx.getConfig(AjaxMonitor.identifier, field, value);
8486
8569
  });
@@ -8490,7 +8573,7 @@
8490
8573
  _enableAjaxPerfTracking = _config[_DYN_ENABLE_AJAX_PERF_TRA7 ];
8491
8574
  _maxAjaxCallsPerView = _config[_DYN_MAX_AJAX_CALLS_PER_V8 ];
8492
8575
  _enableResponseHeaderTracking = _config[_DYN_ENABLE_RESPONSE_HEAD9 ];
8493
- _excludeRequestFromAutoTrackingPatterns = _config[_DYN_EXCLUDE_REQUEST_FROM10 ];
8576
+ _excludeRequestFromAutoTrackingPatterns = [].concat(_config[_DYN_EXCLUDE_REQUEST_FROM10 ] || [], _config.addIntEndpoints !== false ? _internalExcludeEndpoints : []);
8494
8577
  _addRequestContext = _config[_DYN_ADD_REQUEST_CONTEXT ];
8495
8578
  _isUsingAIHeaders = distributedTracingMode === 0 || distributedTracingMode === 1 ;
8496
8579
  _isUsingW3CHeaders = distributedTracingMode === 1 || distributedTracingMode === 2 ;
@@ -8509,7 +8592,7 @@
8509
8592
  function _populateContext() {
8510
8593
  var propExt = _self[_DYN_CORE ].getPlugin(PropertiesPluginIdentifier);
8511
8594
  if (propExt) {
8512
- _context = propExt.plugin.context;
8595
+ _context = propExt.plugin[_DYN_CONTEXT$1 ];
8513
8596
  }
8514
8597
  }
8515
8598
  function _canIncludeHeaders(header) {
@@ -8541,7 +8624,7 @@
8541
8624
  !(isPolyfill && _xhrInitialized)) {
8542
8625
  var ctx = callDetails.ctx();
8543
8626
  fetchData = _createFetchRecord(input, init);
8544
- var newInit = _self[_DYN_INCLUDE_CORRELATION_3 ](fetchData, input, init);
8627
+ var newInit = _self[_DYN_INCLUDE_CORRELATION_2 ](fetchData, input, init);
8545
8628
  if (newInit !== init) {
8546
8629
  callDetails.set(1, newInit);
8547
8630
  }
@@ -8581,7 +8664,7 @@
8581
8664
  }
8582
8665
  }
8583
8666
  },
8584
- hkErr: _createErrorCallbackFunc(_self, 15 , "Failed to monitor Window.fetch, monitoring data for this fetch call may be incorrect.")
8667
+ hkErr: _createErrorCallbackFunc(_self, 15 , "Failed to monitor Window.fetch" + ERROR_POSTFIX)
8585
8668
  }));
8586
8669
  _fetchInitialized = true;
8587
8670
  }
@@ -8616,7 +8699,7 @@
8616
8699
  }
8617
8700
  }
8618
8701
  },
8619
- hkErr: _createErrorCallbackFunc(_self, 15 , "Failed to monitor XMLHttpRequest.open, monitoring data for this ajax call may be incorrect.")
8702
+ hkErr: _createErrorCallbackFunc(_self, 15 , ERROR_HEADER + ".open" + ERROR_POSTFIX)
8620
8703
  });
8621
8704
  _hookProto(XMLHttpRequest, "send", {
8622
8705
  ns: _evtNamespace,
@@ -8627,12 +8710,12 @@
8627
8710
  if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState[_DYN_SEND_DONE ]) {
8628
8711
  _createMarkId("xhr", ajaxData);
8629
8712
  ajaxData[_DYN_REQUEST_SENT_TIME ] = dateTimeUtilsNow();
8630
- _self[_DYN_INCLUDE_CORRELATION_3 ](ajaxData, undefined, undefined, xhr);
8713
+ _self[_DYN_INCLUDE_CORRELATION_2 ](ajaxData, undefined, undefined, xhr);
8631
8714
  ajaxData.xhrMonitoringState[_DYN_SEND_DONE ] = true;
8632
8715
  }
8633
8716
  }
8634
8717
  },
8635
- hkErr: _createErrorCallbackFunc(_self, 17 , "Failed to monitor XMLHttpRequest, monitoring data for this ajax call may be incorrect.")
8718
+ hkErr: _createErrorCallbackFunc(_self, 17 , ERROR_HEADER + ERROR_POSTFIX)
8636
8719
  });
8637
8720
  _hookProto(XMLHttpRequest, "abort", {
8638
8721
  ns: _evtNamespace,
@@ -8646,7 +8729,7 @@
8646
8729
  }
8647
8730
  }
8648
8731
  },
8649
- hkErr: _createErrorCallbackFunc(_self, 13 , "Failed to monitor XMLHttpRequest.abort, monitoring data for this ajax call may be incorrect.")
8732
+ hkErr: _createErrorCallbackFunc(_self, 13 , ERROR_HEADER + ".abort" + ERROR_POSTFIX)
8650
8733
  });
8651
8734
  _hookProto(XMLHttpRequest, "setRequestHeader", {
8652
8735
  ns: _evtNamespace,
@@ -8658,7 +8741,7 @@
8658
8741
  }
8659
8742
  }
8660
8743
  },
8661
- hkErr: _createErrorCallbackFunc(_self, 71 , "Failed to monitor XMLHttpRequest.setRequestHeader, monitoring data for this ajax call may be incorrect.")
8744
+ hkErr: _createErrorCallbackFunc(_self, 71 , ERROR_HEADER + ".setRequestHeader" + ERROR_POSTFIX)
8662
8745
  });
8663
8746
  _xhrInitialized = true;
8664
8747
  }
@@ -8753,7 +8836,7 @@
8753
8836
  catch (e) {
8754
8837
  var exceptionText = dumpObj(e);
8755
8838
  if (!exceptionText || _indexOf(exceptionText[_DYN_TO_LOWER_CASE ](), "c00c023f") === -1) {
8756
- _throwInternalCritical(_self, 16 , "Failed to monitor XMLHttpRequest 'readystatechange' event handler, monitoring data for this ajax call may be incorrect.", (_a = {},
8839
+ _throwInternalCritical(_self, 16 , ERROR_HEADER + " 'readystatechange' event handler" + ERROR_POSTFIX, (_a = {},
8757
8840
  _a[_DYN_AJAX_DIAGNOSTICS_MES17 ] = _getFailedAjaxDiagnosticsMessage(xhr),
8758
8841
  _a.exception = exceptionText,
8759
8842
  _a));
@@ -8782,7 +8865,7 @@
8782
8865
  if (e) {
8783
8866
  errorProps["exception"] = dumpObj(e);
8784
8867
  }
8785
- _throwInternalWarning(_self, 14 , "Failed to calculate the duration of the ajax call, monitoring data for this ajax call won't be sent.", errorProps);
8868
+ _throwInternalWarning(_self, 14 , FAILED_TO_CALCULATE_DURATION_ERROR + "ajax call" + ERROR_NOT_SENT, errorProps);
8786
8869
  }
8787
8870
  _findPerfResourceEntry("xmlhttprequest", ajaxData, function () {
8788
8871
  try {
@@ -8822,13 +8905,14 @@
8822
8905
  }
8823
8906
  }
8824
8907
  catch (e) {
8825
- _throwInternalWarning(_self, 104 , "Failed to add custom defined request context as configured call back may missing a null check.");
8908
+ _throwInternalWarning(_self, 104 , CUSTOM_REQUEST_CONTEXT_ERROR);
8826
8909
  }
8827
8910
  if (dependency) {
8828
8911
  if (properties !== undefined) {
8829
8912
  dependency[STR_PROPERTIES ] = __assignFn(__assignFn({}, dependency.properties), properties);
8830
8913
  }
8831
- _self[_DYN_TRACK_DEPENDENCY_DAT2 ](dependency, null, ajaxData[_DYN_GET_PART_APROPS ]());
8914
+ var sysProperties = ajaxData[_DYN_GET_PART_APROPS ]();
8915
+ _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], ajaxData, dependency, null, sysProperties);
8832
8916
  }
8833
8917
  else {
8834
8918
  _reportXhrError(null, {
@@ -8861,7 +8945,7 @@
8861
8945
  }
8862
8946
  }
8863
8947
  catch (e) {
8864
- _throwInternalWarning(_self, 18 , "Failed to get Request-Context correlation header as it may be not included in the response or not accessible.", (_a = {},
8948
+ _throwInternalWarning(_self, 18 , CORRELATION_HEADER_ERROR, (_a = {},
8865
8949
  _a[_DYN_AJAX_DIAGNOSTICS_MES17 ] = _getFailedAjaxDiagnosticsMessage(xhr),
8866
8950
  _a.exception = dumpObj(e),
8867
8951
  _a));
@@ -8995,7 +9079,7 @@
8995
9079
  if (e) {
8996
9080
  errorProps["exception"] = dumpObj(e);
8997
9081
  }
8998
- _throwInternalWarning(_self, msgId, "Failed to calculate the duration of the fetch call, monitoring data for this fetch call won't be sent.", errorProps);
9082
+ _throwInternalWarning(_self, msgId, FAILED_TO_CALCULATE_DURATION_ERROR + "fetch call" + ERROR_NOT_SENT, errorProps);
8999
9083
  }
9000
9084
  ajaxData[_DYN_RESPONSE_FINISHED_TI14 ] = dateTimeUtilsNow();
9001
9085
  ajaxData[_DYN_STATUS ] = status;
@@ -9008,13 +9092,14 @@
9008
9092
  }
9009
9093
  }
9010
9094
  catch (e) {
9011
- _throwInternalWarning(_self, 104 , "Failed to add custom defined request context as configured call back may missing a null check.");
9095
+ _throwInternalWarning(_self, 104 , CUSTOM_REQUEST_CONTEXT_ERROR);
9012
9096
  }
9013
9097
  if (dependency) {
9014
9098
  if (properties !== undefined) {
9015
9099
  dependency[STR_PROPERTIES ] = __assignFn(__assignFn({}, dependency.properties), properties);
9016
9100
  }
9017
- _self[_DYN_TRACK_DEPENDENCY_DAT2 ](dependency, null, ajaxData[_DYN_GET_PART_APROPS ]());
9101
+ var sysProperties = ajaxData[_DYN_GET_PART_APROPS ]();
9102
+ _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], ajaxData, dependency, null, sysProperties);
9018
9103
  }
9019
9104
  else {
9020
9105
  _reportFetchError(14 , null, {
@@ -9033,56 +9118,43 @@
9033
9118
  return correlationIdGetCorrelationContext(responseHeader);
9034
9119
  }
9035
9120
  catch (e) {
9036
- _throwInternalWarning(_self, 18 , "Failed to get Request-Context correlation header as it may be not included in the response or not accessible.", {
9121
+ _throwInternalWarning(_self, 18 , CORRELATION_HEADER_ERROR, {
9037
9122
  fetchDiagnosticsMessage: _getFailedFetchDiagnosticsMessage(response),
9038
9123
  exception: dumpObj(e)
9039
9124
  });
9040
9125
  }
9041
9126
  }
9042
9127
  }
9128
+ function _reportDependencyInternal(initializers, core, ajaxData, dependency, properties, systemProperties) {
9129
+ var _a;
9130
+ var result = true;
9131
+ var initializersCount = initializers[_DYN_LENGTH$1 ];
9132
+ if (initializersCount > 0) {
9133
+ var details = (_a = {
9134
+ item: dependency
9135
+ },
9136
+ _a[STR_PROPERTIES ] = properties,
9137
+ _a.sysProperties = systemProperties,
9138
+ _a.context = ajaxData ? ajaxData[_DYN_CONTEXT$1 ] : null,
9139
+ _a);
9140
+ result = _processDependencyContainer(core, initializers, details, "initializer");
9141
+ }
9142
+ if (result) {
9143
+ _self[_DYN_TRACK_DEPENDENCY_DAT3 ](dependency, properties, systemProperties);
9144
+ }
9145
+ }
9043
9146
  });
9044
9147
  return _this;
9045
9148
  }
9046
- AjaxMonitor.getDefaultConfig = function () {
9047
- var _a;
9048
- var config = (_a = {},
9049
- _a[_DYN_MAX_AJAX_CALLS_PER_V8 ] = 500,
9050
- _a[_DYN_DISABLE_AJAX_TRACKIN11 ] = false,
9051
- _a[_DYN_DISABLE_FETCH_TRACKI12 ] = false,
9052
- _a[_DYN_EXCLUDE_REQUEST_FROM10 ] = undefined,
9053
- _a.disableCorrelationHeaders = false,
9054
- _a.distributedTracingMode = 1 ,
9055
- _a.correlationHeaderExcludedDomains = DfltAjaxCorrelationHeaderExDomains,
9056
- _a.correlationHeaderDomains = undefined,
9057
- _a.correlationHeaderExcludePatterns = undefined,
9058
- _a[_DYN_APP_ID ] = undefined,
9059
- _a.enableCorsCorrelation = false,
9060
- _a[_DYN_ENABLE_REQUEST_HEADE5 ] = false,
9061
- _a[_DYN_ENABLE_RESPONSE_HEAD9 ] = false,
9062
- _a[_DYN_ENABLE_AJAX_ERROR_ST6 ] = false,
9063
- _a[_DYN_ENABLE_AJAX_PERF_TRA7 ] = false,
9064
- _a.maxAjaxPerfLookupAttempts = 3,
9065
- _a[_DYN_AJAX_PERF_LOOKUP_DEL16 ] = 25,
9066
- _a.ignoreHeaders = [
9067
- "Authorization",
9068
- "X-API-Key",
9069
- "WWW-Authenticate"
9070
- ],
9071
- _a[_DYN_ADD_REQUEST_CONTEXT ] = undefined,
9072
- _a);
9073
- return config;
9074
- };
9075
- AjaxMonitor.getEmptyConfig = function () {
9076
- var emptyConfig = this[_DYN_GET_DEFAULT_CONFIG ]();
9077
- objForEachKey(emptyConfig, function (value) {
9078
- emptyConfig[value] = undefined;
9079
- });
9080
- return emptyConfig;
9081
- };
9082
9149
  AjaxMonitor.prototype.processTelemetry = function (item, itemCtx) {
9083
9150
  this.processNext(item, itemCtx);
9084
9151
  };
9152
+ AjaxMonitor.prototype.addDependencyInitializer = function (dependencyInitializer) {
9153
+ return null;
9154
+ };
9085
9155
  AjaxMonitor.identifier = "AjaxDependencyPlugin";
9156
+ AjaxMonitor.getDefaultConfig = _getDefaultConfig;
9157
+ AjaxMonitor.getEmptyConfig = _getEmptyConfig;
9086
9158
  return AjaxMonitor;
9087
9159
  }(BaseTelemetryPlugin));
9088
9160
 
@@ -9876,7 +9948,8 @@
9876
9948
  ]);
9877
9949
  proxyFunctions(_self, _getCurrentDependencies, [
9878
9950
  STR_TRACK_DEPENDENCY_DATA,
9879
- "addDependencyListener"
9951
+ "addDependencyListener",
9952
+ "addDependencyInitializer"
9880
9953
  ]);
9881
9954
  proxyFunctions(_self, _core, [
9882
9955
  STR_ADD_TELEMETRY_INITIALIZER,
@@ -9912,7 +9985,9 @@
9912
9985
  }
9913
9986
  });
9914
9987
  }
9915
- Initialization.__ieDyn=1;
9988
+ Initialization.prototype.addDependencyInitializer = function (dependencyInitializer) {
9989
+ return null;
9990
+ };
9916
9991
  return Initialization;
9917
9992
  }());
9918
9993
  (function () {