@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) {
@@ -142,14 +142,21 @@
142
142
  return _hasHistory ? history : getInst(HISTORY);
143
143
  }
144
144
 
145
+ var objGetOwnPropertyDescriptor = ObjClass$1.getOwnPropertyDescriptor;
146
+
145
147
  function objHasOwnProperty(obj, prop) {
146
148
  return obj && ObjProto$1[HAS_OWN_PROPERTY].call(obj, prop);
147
149
  }
148
150
 
151
+ var objHasOwn = ObjClass$1["hasOwn"] || polyObjHasOwn;
152
+ function polyObjHasOwn(obj, prop) {
153
+ return objHasOwnProperty(obj, prop) || !!objGetOwnPropertyDescriptor(obj, prop);
154
+ }
155
+
149
156
  function objForEachKey(theObject, callbackfn, thisArg) {
150
157
  if (theObject && isObject(theObject)) {
151
158
  for (var prop in theObject) {
152
- if (objHasOwnProperty(theObject, prop)) {
159
+ if (objHasOwn(theObject, prop)) {
153
160
  if (callbackfn.call(thisArg || theObject, prop, theObject[prop]) === -1) {
154
161
  break;
155
162
  }
@@ -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";
@@ -1636,7 +1644,7 @@
1636
1644
  }
1637
1645
 
1638
1646
  var _objDefineProperty = ObjDefineProperty;
1639
- var version = "3.0.0-beta.2208-19";
1647
+ var version = "3.0.0-beta.2209-03";
1640
1648
  var instanceName = "." + newId(6);
1641
1649
  var _dataUid = 0;
1642
1650
  function _createAccessor(target, prop, value) {
@@ -2507,6 +2515,20 @@
2507
2515
  }
2508
2516
  return cookieMgrCfg;
2509
2517
  }
2518
+ function _isIgnoredCookie(cookieMgrCfg, name) {
2519
+ if (name && cookieMgrCfg && isArray(cookieMgrCfg.ignoreCookies)) {
2520
+ return cookieMgrCfg.ignoreCookies[_DYN_INDEX_OF$1 ](name) !== -1;
2521
+ }
2522
+ return false;
2523
+ }
2524
+ function _isBlockedCookie(cookieMgrCfg, name) {
2525
+ if (name && cookieMgrCfg && isArray(cookieMgrCfg.blockedCookies)) {
2526
+ if (cookieMgrCfg.blockedCookies[_DYN_INDEX_OF$1 ](name) !== -1) {
2527
+ return true;
2528
+ }
2529
+ }
2530
+ return _isIgnoredCookie(cookieMgrCfg, name);
2531
+ }
2510
2532
  function safeGetCookieMgr(core, config) {
2511
2533
  var cookieMgr;
2512
2534
  if (core) {
@@ -2545,10 +2567,10 @@
2545
2567
  },
2546
2568
  set: function (name, value, maxAgeSec, domain, path) {
2547
2569
  var result = false;
2548
- if (_isMgrEnabled(cookieMgr)) {
2570
+ if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {
2549
2571
  var values = {};
2550
2572
  var theValue = strTrim(value || STR_EMPTY);
2551
- var idx = theValue.indexOf(";");
2573
+ var idx = theValue[_DYN_INDEX_OF$1 ](";");
2552
2574
  if (idx !== -1) {
2553
2575
  theValue = strTrim(value[_DYN_SUBSTRING$1 ](0, idx));
2554
2576
  values = _extractParts(value[_DYN_SUBSTRING$1 ](idx + 1));
@@ -2588,7 +2610,7 @@
2588
2610
  },
2589
2611
  get: function (name) {
2590
2612
  var value = STR_EMPTY;
2591
- if (_isMgrEnabled(cookieMgr)) {
2613
+ if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {
2592
2614
  value = (cookieMgrConfig.getCookie || _getCookieValue)(name);
2593
2615
  }
2594
2616
  return value;
@@ -2641,7 +2663,7 @@
2641
2663
  arrForEach(parts, function (thePart) {
2642
2664
  thePart = strTrim(thePart || STR_EMPTY);
2643
2665
  if (thePart) {
2644
- var idx = thePart.indexOf("=");
2666
+ var idx = thePart[_DYN_INDEX_OF$1 ]("=");
2645
2667
  if (idx === -1) {
2646
2668
  values[thePart] = null;
2647
2669
  }
@@ -4670,6 +4692,9 @@
4670
4692
  else if (window && window["opera"] && errorObj[strMessage]) {
4671
4693
  details = _getOperaStack(errorObj[_DYN_MESSAGE$1 ]);
4672
4694
  }
4695
+ else if (errorObj["reason"] && errorObj.reason[strStack]) {
4696
+ details = _convertStackObj(errorObj.reason[strStack]);
4697
+ }
4673
4698
  else if (isString(errorObj)) {
4674
4699
  details = _convertStackObj(errorObj);
4675
4700
  }
@@ -5955,7 +5980,7 @@
5955
5980
  }
5956
5981
  return value;
5957
5982
  }
5958
- function _getDefaultConfig(config) {
5983
+ function _getDefaultConfig$1(config) {
5959
5984
  if (!config) {
5960
5985
  config = {};
5961
5986
  }
@@ -6255,7 +6280,7 @@
6255
6280
  function _populateDefaults(config) {
6256
6281
  var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE$1 ]);
6257
6282
  var identifier = _self.identifier;
6258
- var defaults = _getDefaultConfig(config);
6283
+ var defaults = _getDefaultConfig$1(config);
6259
6284
  var extConfig = _self.config = ctx.getExtCfg(identifier);
6260
6285
  if (defaults !== undefined) {
6261
6286
  objForEachKey(defaults, function (field, value) {
@@ -6448,8 +6473,8 @@
6448
6473
  });
6449
6474
  return _this;
6450
6475
  }
6451
- AnalyticsPlugin.Version = "3.0.0-beta.2208-19";
6452
- AnalyticsPlugin.getDefaultConfig = _getDefaultConfig;
6476
+ AnalyticsPlugin.Version = "3.0.0-beta.2209-03";
6477
+ AnalyticsPlugin.getDefaultConfig = _getDefaultConfig$1;
6453
6478
  return AnalyticsPlugin;
6454
6479
  }(BaseTelemetryPlugin));
6455
6480
 
@@ -6621,7 +6646,7 @@
6621
6646
  }
6622
6647
  }
6623
6648
  var EnvelopeCreator = {
6624
- Version: "3.0.0-beta.2208-19"
6649
+ Version: "3.0.0-beta.2209-03"
6625
6650
  };
6626
6651
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
6627
6652
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -7972,17 +7997,17 @@
7972
7997
  var _DYN_TRACE_ID = "traceID";
7973
7998
  var _DYN_SPAN_ID = "spanID";
7974
7999
  var _DYN_TRACE_FLAGS = "traceFlags";
7975
- var _DYN_CORE = "core";
8000
+ var _DYN_CONTEXT$1 = "context";
7976
8001
  var _DYN_TRACE_ID0 = "traceId";
7977
8002
  var _DYN_SPAN_ID1 = "spanId";
7978
- var _DYN_GET_DEFAULT_CONFIG = "getDefaultConfig";
7979
- var _DYN_TRACK_DEPENDENCY_DAT2 = "trackDependencyDataInternal";
7980
- var _DYN_INCLUDE_CORRELATION_3 = "includeCorrelationHeaders";
8003
+ var _DYN_CORE = "core";
8004
+ var _DYN_INCLUDE_CORRELATION_2 = "includeCorrelationHeaders";
7981
8005
  var _DYN_GET_ABSOLUTE_URL = "getAbsoluteUrl";
7982
8006
  var _DYN_HEADERS = "headers";
7983
8007
  var _DYN_REQUEST_HEADERS = "requestHeaders";
7984
8008
  var _DYN_APP_ID = "appId";
7985
8009
  var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
8010
+ var _DYN_TRACK_DEPENDENCY_DAT3 = "trackDependencyDataInternal";
7986
8011
  var _DYN_DISTRIBUTED_TRACING_4 = "distributedTracingMode";
7987
8012
  var _DYN_START_TIME = "startTime";
7988
8013
  var _DYN_TO_LOWER_CASE = "toLowerCase";
@@ -8263,6 +8288,13 @@
8263
8288
  var strDiagLog = "diagLog";
8264
8289
  var strAjaxData = "ajaxData";
8265
8290
  var strFetch = "fetch";
8291
+ var ERROR_HEADER = "Failed to monitor XMLHttpRequest";
8292
+ var ERROR_PREFIX = ", monitoring data for this ajax call ";
8293
+ var ERROR_POSTFIX = ERROR_PREFIX + "may be incorrect.";
8294
+ var ERROR_NOT_SENT = ERROR_PREFIX + "won't be sent.";
8295
+ var CORRELATION_HEADER_ERROR = "Failed to get Request-Context correlation header as it may be not included in the response or not accessible.";
8296
+ var CUSTOM_REQUEST_CONTEXT_ERROR = "Failed to add custom defined request context as configured call back may missing a null check.";
8297
+ var FAILED_TO_CALCULATE_DURATION_ERROR = "Failed to calculate the duration of the ";
8266
8298
  var _markCount = 0;
8267
8299
  function _supportsFetch() {
8268
8300
  var _global = getGlobal();
@@ -8306,9 +8338,7 @@
8306
8338
  function _getFailedAjaxDiagnosticsMessage(xhr) {
8307
8339
  var result = "";
8308
8340
  try {
8309
- if (!isNullOrUndefined(xhr) &&
8310
- !isNullOrUndefined(xhr[strAjaxData]) &&
8311
- !isNullOrUndefined(xhr[strAjaxData][_DYN_REQUEST_URL ])) {
8341
+ if (xhr && xhr[strAjaxData] && xhr[strAjaxData][_DYN_REQUEST_URL ]) {
8312
8342
  result += "(url: '" + xhr[strAjaxData][_DYN_REQUEST_URL ] + "')";
8313
8343
  }
8314
8344
  }
@@ -8336,6 +8366,37 @@
8336
8366
  }
8337
8367
  return -1;
8338
8368
  }
8369
+ function _addHandler(container, id, theFunc) {
8370
+ var theHandler = {
8371
+ id: id,
8372
+ fn: theFunc
8373
+ };
8374
+ container.push(theHandler);
8375
+ return {
8376
+ remove: function () {
8377
+ arrForEach(container, function (initializer, idx) {
8378
+ if (initializer.id === theHandler.id) {
8379
+ container.splice(idx, 1);
8380
+ return -1;
8381
+ }
8382
+ });
8383
+ }
8384
+ };
8385
+ }
8386
+ function _processDependencyContainer(core, container, details, message) {
8387
+ var result = true;
8388
+ arrForEach(container, function (theFunc, idx) {
8389
+ try {
8390
+ if (theFunc.fn.call(null, details) === false) {
8391
+ result = false;
8392
+ }
8393
+ }
8394
+ catch (e) {
8395
+ _throwInternal(core && core.logger, 1 , 64 , "Dependency " + message + " [#" + idx + "] failed: " + getExceptionName(e), { exception: dumpObj(e) }, true);
8396
+ }
8397
+ });
8398
+ return result;
8399
+ }
8339
8400
  function _processDependencyListeners(listeners, core, ajaxData, xhr, input, init) {
8340
8401
  var _a;
8341
8402
  var initializersCount = listeners[_DYN_LENGTH$1 ];
@@ -8348,30 +8409,62 @@
8348
8409
  _a.traceId = ajaxData[_DYN_TRACE_ID ],
8349
8410
  _a.spanId = ajaxData[_DYN_SPAN_ID ],
8350
8411
  _a.traceFlags = ajaxData[_DYN_TRACE_FLAGS ],
8412
+ _a.context = ajaxData[_DYN_CONTEXT$1 ] || {},
8351
8413
  _a);
8352
- for (var i = 0; i < initializersCount; ++i) {
8353
- var dependencyListener = listeners[i];
8354
- if (dependencyListener && dependencyListener.fn) {
8355
- try {
8356
- dependencyListener.fn.call(null, details);
8357
- }
8358
- catch (e) {
8359
- var core_1 = details[_DYN_CORE ];
8360
- _throwInternal(core_1 && core_1.logger, 1 , 64 , "Dependency listener [#" + i + "] failed: " + getExceptionName(e), { exception: dumpObj(e) }, true);
8361
- }
8362
- }
8363
- }
8414
+ _processDependencyContainer(core, listeners, details, "listener");
8364
8415
  ajaxData[_DYN_TRACE_ID ] = details[_DYN_TRACE_ID0 ];
8365
8416
  ajaxData[_DYN_SPAN_ID ] = details[_DYN_SPAN_ID1 ];
8366
8417
  ajaxData[_DYN_TRACE_FLAGS ] = details[_DYN_TRACE_FLAGS ];
8418
+ ajaxData[_DYN_CONTEXT$1 ] = details[_DYN_CONTEXT$1 ];
8367
8419
  }
8368
8420
  }
8421
+ var BLOB_CORE = "*.blob.core.";
8369
8422
  var DfltAjaxCorrelationHeaderExDomains = objDeepFreeze([
8370
- "*.blob.core.windows.net",
8371
- "*.blob.core.chinacloudapi.cn",
8372
- "*.blob.core.cloudapi.de",
8373
- "*.blob.core.usgovcloudapi.net"
8423
+ BLOB_CORE + "windows.net",
8424
+ BLOB_CORE + "chinacloudapi.cn",
8425
+ BLOB_CORE + "cloudapi.de",
8426
+ BLOB_CORE + "usgovcloudapi.net"
8374
8427
  ]);
8428
+ var _internalExcludeEndpoints = [
8429
+ /https:\/\/[^\/]*(\.pipe\.aria|aria\.pipe|events\.data|collector\.azure)\.[^\/]+\/(OneCollector\/1|Collector\/3)\.0/i
8430
+ ];
8431
+ function _getDefaultConfig() {
8432
+ var _a;
8433
+ var config = (_a = {},
8434
+ _a[_DYN_MAX_AJAX_CALLS_PER_V8 ] = 500,
8435
+ _a[_DYN_DISABLE_AJAX_TRACKIN11 ] = false,
8436
+ _a[_DYN_DISABLE_FETCH_TRACKI12 ] = false,
8437
+ _a[_DYN_EXCLUDE_REQUEST_FROM10 ] = undefined,
8438
+ _a.disableCorrelationHeaders = false,
8439
+ _a.distributedTracingMode = 1 ,
8440
+ _a.correlationHeaderExcludedDomains = DfltAjaxCorrelationHeaderExDomains,
8441
+ _a.correlationHeaderDomains = undefined,
8442
+ _a.correlationHeaderExcludePatterns = undefined,
8443
+ _a[_DYN_APP_ID ] = undefined,
8444
+ _a.enableCorsCorrelation = false,
8445
+ _a[_DYN_ENABLE_REQUEST_HEADE5 ] = false,
8446
+ _a[_DYN_ENABLE_RESPONSE_HEAD9 ] = false,
8447
+ _a[_DYN_ENABLE_AJAX_ERROR_ST6 ] = false,
8448
+ _a[_DYN_ENABLE_AJAX_PERF_TRA7 ] = false,
8449
+ _a.maxAjaxPerfLookupAttempts = 3,
8450
+ _a[_DYN_AJAX_PERF_LOOKUP_DEL16 ] = 25,
8451
+ _a.ignoreHeaders = [
8452
+ "Authorization",
8453
+ "X-API-Key",
8454
+ "WWW-Authenticate"
8455
+ ],
8456
+ _a[_DYN_ADD_REQUEST_CONTEXT ] = undefined,
8457
+ _a.addIntEndpoints = true,
8458
+ _a);
8459
+ return config;
8460
+ }
8461
+ function _getEmptyConfig() {
8462
+ var emptyConfig = _getDefaultConfig();
8463
+ objForEachKey(emptyConfig, function (value) {
8464
+ emptyConfig[value] = undefined;
8465
+ });
8466
+ return emptyConfig;
8467
+ }
8375
8468
  var AjaxMonitor = /** @class */ (function (_super) {
8376
8469
  __extendsFn(AjaxMonitor, _super);
8377
8470
  function AjaxMonitor() {
@@ -8398,8 +8491,9 @@
8398
8491
  var _excludeRequestFromAutoTrackingPatterns;
8399
8492
  var _addRequestContext;
8400
8493
  var _evtNamespace;
8401
- var _dependencyListenerId;
8494
+ var _dependencyHandlerId;
8402
8495
  var _dependencyListeners;
8496
+ var _dependencyInitializers;
8403
8497
  dynamicProto(AjaxMonitor, _this, function (_self, _base) {
8404
8498
  var _addHook = _base._addHook;
8405
8499
  _initDefaults();
@@ -8417,9 +8511,9 @@
8417
8511
  _initDefaults();
8418
8512
  };
8419
8513
  _self.trackDependencyData = function (dependency, properties) {
8420
- _self[_DYN_TRACK_DEPENDENCY_DAT2 ](dependency, properties);
8514
+ _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], null, dependency, properties);
8421
8515
  };
8422
- _self[_DYN_INCLUDE_CORRELATION_3 ] = function (ajaxData, input, init, xhr) {
8516
+ _self[_DYN_INCLUDE_CORRELATION_2 ] = function (ajaxData, input, init, xhr) {
8423
8517
  var currentWindowHost = _self["_currentWindowHost"] || _currentWindowHost;
8424
8518
  _processDependencyListeners(_dependencyListeners, _self[_DYN_CORE ], ajaxData, xhr, input, init);
8425
8519
  if (input) {
@@ -8489,7 +8583,7 @@
8489
8583
  }
8490
8584
  return undefined;
8491
8585
  };
8492
- _self[_DYN_TRACK_DEPENDENCY_DAT2 ] = function (dependency, properties, systemProperties) {
8586
+ _self[_DYN_TRACK_DEPENDENCY_DAT3 ] = function (dependency, properties, systemProperties) {
8493
8587
  if (_maxAjaxCallsPerView === -1 || _trackAjaxAttempts < _maxAjaxCallsPerView) {
8494
8588
  if ((_config[_DYN_DISTRIBUTED_TRACING_4 ] === 2
8495
8589
  || _config[_DYN_DISTRIBUTED_TRACING_4 ] === 1 )
@@ -8508,22 +8602,10 @@
8508
8602
  ++_trackAjaxAttempts;
8509
8603
  };
8510
8604
  _self.addDependencyListener = function (dependencyListener) {
8511
- var theInitializer = {
8512
- id: _dependencyListenerId++,
8513
- fn: dependencyListener
8514
- };
8515
- _dependencyListeners.push(theInitializer);
8516
- var handler = {
8517
- remove: function () {
8518
- arrForEach(_dependencyListeners, function (initializer, idx) {
8519
- if (initializer.id === theInitializer.id) {
8520
- _dependencyListeners.splice(idx, 1);
8521
- return -1;
8522
- }
8523
- });
8524
- }
8525
- };
8526
- return handler;
8605
+ return _addHandler(_dependencyListeners, _dependencyHandlerId++, dependencyListener);
8606
+ };
8607
+ _self.addDependencyInitializer = function (dependencyInitializer) {
8608
+ return _addHandler(_dependencyInitializers, _dependencyHandlerId++, dependencyInitializer);
8527
8609
  };
8528
8610
  function _initDefaults() {
8529
8611
  var location = getLocation();
@@ -8547,13 +8629,14 @@
8547
8629
  _excludeRequestFromAutoTrackingPatterns = null;
8548
8630
  _addRequestContext = null;
8549
8631
  _evtNamespace = null;
8550
- _dependencyListenerId = 0;
8632
+ _dependencyHandlerId = 0;
8551
8633
  _dependencyListeners = [];
8634
+ _dependencyInitializers = [];
8552
8635
  }
8553
8636
  function _populateDefaults(config) {
8554
8637
  var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE ]);
8555
- _config = AjaxMonitor.getEmptyConfig();
8556
- var defaultConfig = AjaxMonitor[_DYN_GET_DEFAULT_CONFIG ]();
8638
+ _config = _getEmptyConfig();
8639
+ var defaultConfig = _getDefaultConfig();
8557
8640
  objForEachKey(defaultConfig, function (field, value) {
8558
8641
  _config[field] = ctx.getConfig(AjaxMonitor.identifier, field, value);
8559
8642
  });
@@ -8563,7 +8646,7 @@
8563
8646
  _enableAjaxPerfTracking = _config[_DYN_ENABLE_AJAX_PERF_TRA7 ];
8564
8647
  _maxAjaxCallsPerView = _config[_DYN_MAX_AJAX_CALLS_PER_V8 ];
8565
8648
  _enableResponseHeaderTracking = _config[_DYN_ENABLE_RESPONSE_HEAD9 ];
8566
- _excludeRequestFromAutoTrackingPatterns = _config[_DYN_EXCLUDE_REQUEST_FROM10 ];
8649
+ _excludeRequestFromAutoTrackingPatterns = [].concat(_config[_DYN_EXCLUDE_REQUEST_FROM10 ] || [], _config.addIntEndpoints !== false ? _internalExcludeEndpoints : []);
8567
8650
  _addRequestContext = _config[_DYN_ADD_REQUEST_CONTEXT ];
8568
8651
  _isUsingAIHeaders = distributedTracingMode === 0 || distributedTracingMode === 1 ;
8569
8652
  _isUsingW3CHeaders = distributedTracingMode === 1 || distributedTracingMode === 2 ;
@@ -8582,7 +8665,7 @@
8582
8665
  function _populateContext() {
8583
8666
  var propExt = _self[_DYN_CORE ].getPlugin(PropertiesPluginIdentifier);
8584
8667
  if (propExt) {
8585
- _context = propExt.plugin.context;
8668
+ _context = propExt.plugin[_DYN_CONTEXT$1 ];
8586
8669
  }
8587
8670
  }
8588
8671
  function _canIncludeHeaders(header) {
@@ -8614,7 +8697,7 @@
8614
8697
  !(isPolyfill && _xhrInitialized)) {
8615
8698
  var ctx = callDetails.ctx();
8616
8699
  fetchData = _createFetchRecord(input, init);
8617
- var newInit = _self[_DYN_INCLUDE_CORRELATION_3 ](fetchData, input, init);
8700
+ var newInit = _self[_DYN_INCLUDE_CORRELATION_2 ](fetchData, input, init);
8618
8701
  if (newInit !== init) {
8619
8702
  callDetails.set(1, newInit);
8620
8703
  }
@@ -8654,7 +8737,7 @@
8654
8737
  }
8655
8738
  }
8656
8739
  },
8657
- hkErr: _createErrorCallbackFunc(_self, 15 , "Failed to monitor Window.fetch, monitoring data for this fetch call may be incorrect.")
8740
+ hkErr: _createErrorCallbackFunc(_self, 15 , "Failed to monitor Window.fetch" + ERROR_POSTFIX)
8658
8741
  }));
8659
8742
  _fetchInitialized = true;
8660
8743
  }
@@ -8689,7 +8772,7 @@
8689
8772
  }
8690
8773
  }
8691
8774
  },
8692
- hkErr: _createErrorCallbackFunc(_self, 15 , "Failed to monitor XMLHttpRequest.open, monitoring data for this ajax call may be incorrect.")
8775
+ hkErr: _createErrorCallbackFunc(_self, 15 , ERROR_HEADER + ".open" + ERROR_POSTFIX)
8693
8776
  });
8694
8777
  _hookProto(XMLHttpRequest, "send", {
8695
8778
  ns: _evtNamespace,
@@ -8700,12 +8783,12 @@
8700
8783
  if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState[_DYN_SEND_DONE ]) {
8701
8784
  _createMarkId("xhr", ajaxData);
8702
8785
  ajaxData[_DYN_REQUEST_SENT_TIME ] = dateTimeUtilsNow();
8703
- _self[_DYN_INCLUDE_CORRELATION_3 ](ajaxData, undefined, undefined, xhr);
8786
+ _self[_DYN_INCLUDE_CORRELATION_2 ](ajaxData, undefined, undefined, xhr);
8704
8787
  ajaxData.xhrMonitoringState[_DYN_SEND_DONE ] = true;
8705
8788
  }
8706
8789
  }
8707
8790
  },
8708
- hkErr: _createErrorCallbackFunc(_self, 17 , "Failed to monitor XMLHttpRequest, monitoring data for this ajax call may be incorrect.")
8791
+ hkErr: _createErrorCallbackFunc(_self, 17 , ERROR_HEADER + ERROR_POSTFIX)
8709
8792
  });
8710
8793
  _hookProto(XMLHttpRequest, "abort", {
8711
8794
  ns: _evtNamespace,
@@ -8719,7 +8802,7 @@
8719
8802
  }
8720
8803
  }
8721
8804
  },
8722
- hkErr: _createErrorCallbackFunc(_self, 13 , "Failed to monitor XMLHttpRequest.abort, monitoring data for this ajax call may be incorrect.")
8805
+ hkErr: _createErrorCallbackFunc(_self, 13 , ERROR_HEADER + ".abort" + ERROR_POSTFIX)
8723
8806
  });
8724
8807
  _hookProto(XMLHttpRequest, "setRequestHeader", {
8725
8808
  ns: _evtNamespace,
@@ -8731,7 +8814,7 @@
8731
8814
  }
8732
8815
  }
8733
8816
  },
8734
- hkErr: _createErrorCallbackFunc(_self, 71 , "Failed to monitor XMLHttpRequest.setRequestHeader, monitoring data for this ajax call may be incorrect.")
8817
+ hkErr: _createErrorCallbackFunc(_self, 71 , ERROR_HEADER + ".setRequestHeader" + ERROR_POSTFIX)
8735
8818
  });
8736
8819
  _xhrInitialized = true;
8737
8820
  }
@@ -8826,7 +8909,7 @@
8826
8909
  catch (e) {
8827
8910
  var exceptionText = dumpObj(e);
8828
8911
  if (!exceptionText || _indexOf(exceptionText[_DYN_TO_LOWER_CASE ](), "c00c023f") === -1) {
8829
- _throwInternalCritical(_self, 16 , "Failed to monitor XMLHttpRequest 'readystatechange' event handler, monitoring data for this ajax call may be incorrect.", (_a = {},
8912
+ _throwInternalCritical(_self, 16 , ERROR_HEADER + " 'readystatechange' event handler" + ERROR_POSTFIX, (_a = {},
8830
8913
  _a[_DYN_AJAX_DIAGNOSTICS_MES17 ] = _getFailedAjaxDiagnosticsMessage(xhr),
8831
8914
  _a.exception = exceptionText,
8832
8915
  _a));
@@ -8855,7 +8938,7 @@
8855
8938
  if (e) {
8856
8939
  errorProps["exception"] = dumpObj(e);
8857
8940
  }
8858
- _throwInternalWarning(_self, 14 , "Failed to calculate the duration of the ajax call, monitoring data for this ajax call won't be sent.", errorProps);
8941
+ _throwInternalWarning(_self, 14 , FAILED_TO_CALCULATE_DURATION_ERROR + "ajax call" + ERROR_NOT_SENT, errorProps);
8859
8942
  }
8860
8943
  _findPerfResourceEntry("xmlhttprequest", ajaxData, function () {
8861
8944
  try {
@@ -8895,13 +8978,14 @@
8895
8978
  }
8896
8979
  }
8897
8980
  catch (e) {
8898
- _throwInternalWarning(_self, 104 , "Failed to add custom defined request context as configured call back may missing a null check.");
8981
+ _throwInternalWarning(_self, 104 , CUSTOM_REQUEST_CONTEXT_ERROR);
8899
8982
  }
8900
8983
  if (dependency) {
8901
8984
  if (properties !== undefined) {
8902
8985
  dependency[STR_PROPERTIES ] = __assignFn(__assignFn({}, dependency.properties), properties);
8903
8986
  }
8904
- _self[_DYN_TRACK_DEPENDENCY_DAT2 ](dependency, null, ajaxData[_DYN_GET_PART_APROPS ]());
8987
+ var sysProperties = ajaxData[_DYN_GET_PART_APROPS ]();
8988
+ _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], ajaxData, dependency, null, sysProperties);
8905
8989
  }
8906
8990
  else {
8907
8991
  _reportXhrError(null, {
@@ -8934,7 +9018,7 @@
8934
9018
  }
8935
9019
  }
8936
9020
  catch (e) {
8937
- _throwInternalWarning(_self, 18 , "Failed to get Request-Context correlation header as it may be not included in the response or not accessible.", (_a = {},
9021
+ _throwInternalWarning(_self, 18 , CORRELATION_HEADER_ERROR, (_a = {},
8938
9022
  _a[_DYN_AJAX_DIAGNOSTICS_MES17 ] = _getFailedAjaxDiagnosticsMessage(xhr),
8939
9023
  _a.exception = dumpObj(e),
8940
9024
  _a));
@@ -9068,7 +9152,7 @@
9068
9152
  if (e) {
9069
9153
  errorProps["exception"] = dumpObj(e);
9070
9154
  }
9071
- _throwInternalWarning(_self, msgId, "Failed to calculate the duration of the fetch call, monitoring data for this fetch call won't be sent.", errorProps);
9155
+ _throwInternalWarning(_self, msgId, FAILED_TO_CALCULATE_DURATION_ERROR + "fetch call" + ERROR_NOT_SENT, errorProps);
9072
9156
  }
9073
9157
  ajaxData[_DYN_RESPONSE_FINISHED_TI14 ] = dateTimeUtilsNow();
9074
9158
  ajaxData[_DYN_STATUS ] = status;
@@ -9081,13 +9165,14 @@
9081
9165
  }
9082
9166
  }
9083
9167
  catch (e) {
9084
- _throwInternalWarning(_self, 104 , "Failed to add custom defined request context as configured call back may missing a null check.");
9168
+ _throwInternalWarning(_self, 104 , CUSTOM_REQUEST_CONTEXT_ERROR);
9085
9169
  }
9086
9170
  if (dependency) {
9087
9171
  if (properties !== undefined) {
9088
9172
  dependency[STR_PROPERTIES ] = __assignFn(__assignFn({}, dependency.properties), properties);
9089
9173
  }
9090
- _self[_DYN_TRACK_DEPENDENCY_DAT2 ](dependency, null, ajaxData[_DYN_GET_PART_APROPS ]());
9174
+ var sysProperties = ajaxData[_DYN_GET_PART_APROPS ]();
9175
+ _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], ajaxData, dependency, null, sysProperties);
9091
9176
  }
9092
9177
  else {
9093
9178
  _reportFetchError(14 , null, {
@@ -9106,56 +9191,43 @@
9106
9191
  return correlationIdGetCorrelationContext(responseHeader);
9107
9192
  }
9108
9193
  catch (e) {
9109
- _throwInternalWarning(_self, 18 , "Failed to get Request-Context correlation header as it may be not included in the response or not accessible.", {
9194
+ _throwInternalWarning(_self, 18 , CORRELATION_HEADER_ERROR, {
9110
9195
  fetchDiagnosticsMessage: _getFailedFetchDiagnosticsMessage(response),
9111
9196
  exception: dumpObj(e)
9112
9197
  });
9113
9198
  }
9114
9199
  }
9115
9200
  }
9201
+ function _reportDependencyInternal(initializers, core, ajaxData, dependency, properties, systemProperties) {
9202
+ var _a;
9203
+ var result = true;
9204
+ var initializersCount = initializers[_DYN_LENGTH$1 ];
9205
+ if (initializersCount > 0) {
9206
+ var details = (_a = {
9207
+ item: dependency
9208
+ },
9209
+ _a[STR_PROPERTIES ] = properties,
9210
+ _a.sysProperties = systemProperties,
9211
+ _a.context = ajaxData ? ajaxData[_DYN_CONTEXT$1 ] : null,
9212
+ _a);
9213
+ result = _processDependencyContainer(core, initializers, details, "initializer");
9214
+ }
9215
+ if (result) {
9216
+ _self[_DYN_TRACK_DEPENDENCY_DAT3 ](dependency, properties, systemProperties);
9217
+ }
9218
+ }
9116
9219
  });
9117
9220
  return _this;
9118
9221
  }
9119
- AjaxMonitor.getDefaultConfig = function () {
9120
- var _a;
9121
- var config = (_a = {},
9122
- _a[_DYN_MAX_AJAX_CALLS_PER_V8 ] = 500,
9123
- _a[_DYN_DISABLE_AJAX_TRACKIN11 ] = false,
9124
- _a[_DYN_DISABLE_FETCH_TRACKI12 ] = false,
9125
- _a[_DYN_EXCLUDE_REQUEST_FROM10 ] = undefined,
9126
- _a.disableCorrelationHeaders = false,
9127
- _a.distributedTracingMode = 1 ,
9128
- _a.correlationHeaderExcludedDomains = DfltAjaxCorrelationHeaderExDomains,
9129
- _a.correlationHeaderDomains = undefined,
9130
- _a.correlationHeaderExcludePatterns = undefined,
9131
- _a[_DYN_APP_ID ] = undefined,
9132
- _a.enableCorsCorrelation = false,
9133
- _a[_DYN_ENABLE_REQUEST_HEADE5 ] = false,
9134
- _a[_DYN_ENABLE_RESPONSE_HEAD9 ] = false,
9135
- _a[_DYN_ENABLE_AJAX_ERROR_ST6 ] = false,
9136
- _a[_DYN_ENABLE_AJAX_PERF_TRA7 ] = false,
9137
- _a.maxAjaxPerfLookupAttempts = 3,
9138
- _a[_DYN_AJAX_PERF_LOOKUP_DEL16 ] = 25,
9139
- _a.ignoreHeaders = [
9140
- "Authorization",
9141
- "X-API-Key",
9142
- "WWW-Authenticate"
9143
- ],
9144
- _a[_DYN_ADD_REQUEST_CONTEXT ] = undefined,
9145
- _a);
9146
- return config;
9147
- };
9148
- AjaxMonitor.getEmptyConfig = function () {
9149
- var emptyConfig = this[_DYN_GET_DEFAULT_CONFIG ]();
9150
- objForEachKey(emptyConfig, function (value) {
9151
- emptyConfig[value] = undefined;
9152
- });
9153
- return emptyConfig;
9154
- };
9155
9222
  AjaxMonitor.prototype.processTelemetry = function (item, itemCtx) {
9156
9223
  this.processNext(item, itemCtx);
9157
9224
  };
9225
+ AjaxMonitor.prototype.addDependencyInitializer = function (dependencyInitializer) {
9226
+ return null;
9227
+ };
9158
9228
  AjaxMonitor.identifier = "AjaxDependencyPlugin";
9229
+ AjaxMonitor.getDefaultConfig = _getDefaultConfig;
9230
+ AjaxMonitor.getEmptyConfig = _getEmptyConfig;
9159
9231
  return AjaxMonitor;
9160
9232
  }(BaseTelemetryPlugin));
9161
9233
 
@@ -9949,7 +10021,8 @@
9949
10021
  ]);
9950
10022
  proxyFunctions(_self, _getCurrentDependencies, [
9951
10023
  STR_TRACK_DEPENDENCY_DATA,
9952
- "addDependencyListener"
10024
+ "addDependencyListener",
10025
+ "addDependencyInitializer"
9953
10026
  ]);
9954
10027
  proxyFunctions(_self, _core, [
9955
10028
  STR_ADD_TELEMETRY_INITIALIZER,
@@ -9985,7 +10058,9 @@
9985
10058
  }
9986
10059
  });
9987
10060
  }
9988
- Initialization.__ieDyn=1;
10061
+ Initialization.prototype.addDependencyInitializer = function (dependencyInitializer) {
10062
+ return null;
10063
+ };
9989
10064
  return Initialization;
9990
10065
  }());
9991
10066
  (function () {
@@ -10107,4 +10182,4 @@
10107
10182
  Object.defineProperty(exports, '__esModule', { value: true });
10108
10183
 
10109
10184
  }));
10110
- //# sourceMappingURL=ai.3.0.0-beta.2208-19.js.map
10185
+ //# sourceMappingURL=ai.3.0.0-beta.2209-03.js.map