@microsoft/applicationinsights-dependencies-js 3.0.0-beta.2208-16 → 3.0.0-beta.2209-01

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 (37) hide show
  1. package/browser/applicationinsights-dependencies-js.integrity.json +9 -9
  2. package/browser/applicationinsights-dependencies-js.js +149 -102
  3. package/browser/applicationinsights-dependencies-js.js.map +1 -1
  4. package/browser/applicationinsights-dependencies-js.min.js +2 -2
  5. package/browser/applicationinsights-dependencies-js.min.js.map +1 -1
  6. package/dist/applicationinsights-dependencies-js.api.json +667 -30
  7. package/dist/applicationinsights-dependencies-js.api.md +63 -9
  8. package/dist/applicationinsights-dependencies-js.d.ts +73 -8
  9. package/dist/applicationinsights-dependencies-js.js +149 -102
  10. package/dist/applicationinsights-dependencies-js.js.map +1 -1
  11. package/dist/applicationinsights-dependencies-js.min.js +2 -2
  12. package/dist/applicationinsights-dependencies-js.min.js.map +1 -1
  13. package/dist/applicationinsights-dependencies-js.rollup.d.ts +75 -10
  14. package/dist-esm/DependencyInitializer.js +6 -0
  15. package/dist-esm/DependencyInitializer.js.map +1 -0
  16. package/dist-esm/DependencyListener.js +1 -1
  17. package/dist-esm/InternalConstants.js +1 -1
  18. package/dist-esm/__DynamicConstants.js +6 -6
  19. package/dist-esm/__DynamicConstants.js.map +1 -1
  20. package/dist-esm/ajax.js +153 -98
  21. package/dist-esm/ajax.js.map +1 -1
  22. package/dist-esm/ajaxRecord.js +1 -1
  23. package/dist-esm/ajaxUtils.js +1 -1
  24. package/dist-esm/applicationinsights-dependencies-js.js +1 -1
  25. package/package.json +3 -3
  26. package/src/DependencyInitializer.ts +44 -0
  27. package/src/DependencyListener.ts +13 -3
  28. package/src/__DynamicConstants.ts +5 -5
  29. package/src/ajax.ts +183 -106
  30. package/src/ajaxRecord.ts +5 -0
  31. package/src/applicationinsights-dependencies-js.ts +5 -1
  32. package/types/DependencyInitializer.d.ts +41 -0
  33. package/types/DependencyListener.d.ts +14 -3
  34. package/types/__DynamicConstants.d.ts +4 -4
  35. package/types/ajax.d.ts +18 -5
  36. package/types/ajaxRecord.d.ts +6 -0
  37. package/types/applicationinsights-dependencies-js.d.ts +2 -0
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Dependencies Plugin, 3.0.0-beta.2208-16
2
+ * Application Insights JavaScript SDK - Dependencies Plugin, 3.0.0-beta.2209-01
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -1314,7 +1314,7 @@
1314
1314
  }
1315
1315
 
1316
1316
  var _objDefineProperty = ObjDefineProperty;
1317
- var version = "3.0.0-beta.2208-16";
1317
+ var version = "3.0.0-beta.2209-01";
1318
1318
  var instanceName = "." + newId(6);
1319
1319
  var _dataUid = 0;
1320
1320
  function _createAccessor(target, prop, value) {
@@ -2791,17 +2791,17 @@
2791
2791
  var _DYN_TRACE_ID = "traceID";
2792
2792
  var _DYN_SPAN_ID = "spanID";
2793
2793
  var _DYN_TRACE_FLAGS = "traceFlags";
2794
- var _DYN_CORE = "core";
2794
+ var _DYN_CONTEXT = "context";
2795
2795
  var _DYN_TRACE_ID0 = "traceId";
2796
2796
  var _DYN_SPAN_ID1 = "spanId";
2797
- var _DYN_GET_DEFAULT_CONFIG = "getDefaultConfig";
2798
- var _DYN_TRACK_DEPENDENCY_DAT2 = "trackDependencyDataInternal";
2799
- var _DYN_INCLUDE_CORRELATION_3 = "includeCorrelationHeaders";
2797
+ var _DYN_CORE = "core";
2798
+ var _DYN_INCLUDE_CORRELATION_2 = "includeCorrelationHeaders";
2800
2799
  var _DYN_GET_ABSOLUTE_URL = "getAbsoluteUrl";
2801
2800
  var _DYN_HEADERS = "headers";
2802
2801
  var _DYN_REQUEST_HEADERS = "requestHeaders";
2803
2802
  var _DYN_APP_ID = "appId";
2804
2803
  var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
2804
+ var _DYN_TRACK_DEPENDENCY_DAT3 = "trackDependencyDataInternal";
2805
2805
  var _DYN_DISTRIBUTED_TRACING_4 = "distributedTracingMode";
2806
2806
  var _DYN_START_TIME = "startTime";
2807
2807
  var _DYN_TO_LOWER_CASE = "toLowerCase";
@@ -3082,6 +3082,13 @@
3082
3082
  var strDiagLog = "diagLog";
3083
3083
  var strAjaxData = "ajaxData";
3084
3084
  var strFetch = "fetch";
3085
+ var ERROR_HEADER = "Failed to monitor XMLHttpRequest";
3086
+ var ERROR_PREFIX = ", monitoring data for this ajax call ";
3087
+ var ERROR_POSTFIX = ERROR_PREFIX + "may be incorrect.";
3088
+ var ERROR_NOT_SENT = ERROR_PREFIX + "won't be sent.";
3089
+ var CORRELATION_HEADER_ERROR = "Failed to get Request-Context correlation header as it may be not included in the response or not accessible.";
3090
+ var CUSTOM_REQUEST_CONTEXT_ERROR = "Failed to add custom defined request context as configured call back may missing a null check.";
3091
+ var FAILED_TO_CALCULATE_DURATION_ERROR = "Failed to calculate the duration of the ";
3085
3092
  var _markCount = 0;
3086
3093
  function _supportsFetch() {
3087
3094
  var _global = getGlobal$1();
@@ -3125,9 +3132,7 @@
3125
3132
  function _getFailedAjaxDiagnosticsMessage(xhr) {
3126
3133
  var result = "";
3127
3134
  try {
3128
- if (!isNullOrUndefined(xhr) &&
3129
- !isNullOrUndefined(xhr[strAjaxData]) &&
3130
- !isNullOrUndefined(xhr[strAjaxData][_DYN_REQUEST_URL ])) {
3135
+ if (xhr && xhr[strAjaxData] && xhr[strAjaxData][_DYN_REQUEST_URL ]) {
3131
3136
  result += "(url: '" + xhr[strAjaxData][_DYN_REQUEST_URL ] + "')";
3132
3137
  }
3133
3138
  }
@@ -3155,6 +3160,37 @@
3155
3160
  }
3156
3161
  return -1;
3157
3162
  }
3163
+ function _addHandler(container, id, theFunc) {
3164
+ var theHandler = {
3165
+ id: id,
3166
+ fn: theFunc
3167
+ };
3168
+ container.push(theHandler);
3169
+ return {
3170
+ remove: function () {
3171
+ arrForEach(container, function (initializer, idx) {
3172
+ if (initializer.id === theHandler.id) {
3173
+ container.splice(idx, 1);
3174
+ return -1;
3175
+ }
3176
+ });
3177
+ }
3178
+ };
3179
+ }
3180
+ function _processDependencyContainer(core, container, details, message) {
3181
+ var result = true;
3182
+ arrForEach(container, function (theFunc, idx) {
3183
+ try {
3184
+ if (theFunc.fn.call(null, details) === false) {
3185
+ result = false;
3186
+ }
3187
+ }
3188
+ catch (e) {
3189
+ _throwInternal(core && core.logger, 1 , 64 , "Dependency " + message + " [#" + idx + "] failed: " + getExceptionName(e), { exception: dumpObj(e) }, true);
3190
+ }
3191
+ });
3192
+ return result;
3193
+ }
3158
3194
  function _processDependencyListeners(listeners, core, ajaxData, xhr, input, init) {
3159
3195
  var _a;
3160
3196
  var initializersCount = listeners[_DYN_LENGTH ];
@@ -3167,30 +3203,62 @@
3167
3203
  _a.traceId = ajaxData[_DYN_TRACE_ID ],
3168
3204
  _a.spanId = ajaxData[_DYN_SPAN_ID ],
3169
3205
  _a.traceFlags = ajaxData[_DYN_TRACE_FLAGS ],
3206
+ _a.context = ajaxData[_DYN_CONTEXT ] || {},
3170
3207
  _a);
3171
- for (var i = 0; i < initializersCount; ++i) {
3172
- var dependencyListener = listeners[i];
3173
- if (dependencyListener && dependencyListener.fn) {
3174
- try {
3175
- dependencyListener.fn.call(null, details);
3176
- }
3177
- catch (e) {
3178
- var core_1 = details[_DYN_CORE ];
3179
- _throwInternal(core_1 && core_1.logger, 1 , 64 , "Dependency listener [#" + i + "] failed: " + getExceptionName(e), { exception: dumpObj(e) }, true);
3180
- }
3181
- }
3182
- }
3208
+ _processDependencyContainer(core, listeners, details, "listener");
3183
3209
  ajaxData[_DYN_TRACE_ID ] = details[_DYN_TRACE_ID0 ];
3184
3210
  ajaxData[_DYN_SPAN_ID ] = details[_DYN_SPAN_ID1 ];
3185
3211
  ajaxData[_DYN_TRACE_FLAGS ] = details[_DYN_TRACE_FLAGS ];
3212
+ ajaxData[_DYN_CONTEXT ] = details[_DYN_CONTEXT ];
3186
3213
  }
3187
3214
  }
3215
+ var BLOB_CORE = "*.blob.core.";
3188
3216
  var DfltAjaxCorrelationHeaderExDomains = objDeepFreeze([
3189
- "*.blob.core.windows.net",
3190
- "*.blob.core.chinacloudapi.cn",
3191
- "*.blob.core.cloudapi.de",
3192
- "*.blob.core.usgovcloudapi.net"
3217
+ BLOB_CORE + "windows.net",
3218
+ BLOB_CORE + "chinacloudapi.cn",
3219
+ BLOB_CORE + "cloudapi.de",
3220
+ BLOB_CORE + "usgovcloudapi.net"
3193
3221
  ]);
3222
+ var _internalExcludeEndpoints = [
3223
+ /https:\/\/[^\/]*(\.pipe\.aria|aria\.pipe|events\.data|collector\.azure)\.[^\/]+\/(OneCollector\/1|Collector\/3)\.0/i
3224
+ ];
3225
+ function _getDefaultConfig() {
3226
+ var _a;
3227
+ var config = (_a = {},
3228
+ _a[_DYN_MAX_AJAX_CALLS_PER_V8 ] = 500,
3229
+ _a[_DYN_DISABLE_AJAX_TRACKIN11 ] = false,
3230
+ _a[_DYN_DISABLE_FETCH_TRACKI12 ] = false,
3231
+ _a[_DYN_EXCLUDE_REQUEST_FROM10 ] = undefined,
3232
+ _a.disableCorrelationHeaders = false,
3233
+ _a.distributedTracingMode = 1 ,
3234
+ _a.correlationHeaderExcludedDomains = DfltAjaxCorrelationHeaderExDomains,
3235
+ _a.correlationHeaderDomains = undefined,
3236
+ _a.correlationHeaderExcludePatterns = undefined,
3237
+ _a[_DYN_APP_ID ] = undefined,
3238
+ _a.enableCorsCorrelation = false,
3239
+ _a[_DYN_ENABLE_REQUEST_HEADE5 ] = false,
3240
+ _a[_DYN_ENABLE_RESPONSE_HEAD9 ] = false,
3241
+ _a[_DYN_ENABLE_AJAX_ERROR_ST6 ] = false,
3242
+ _a[_DYN_ENABLE_AJAX_PERF_TRA7 ] = false,
3243
+ _a.maxAjaxPerfLookupAttempts = 3,
3244
+ _a[_DYN_AJAX_PERF_LOOKUP_DEL16 ] = 25,
3245
+ _a.ignoreHeaders = [
3246
+ "Authorization",
3247
+ "X-API-Key",
3248
+ "WWW-Authenticate"
3249
+ ],
3250
+ _a[_DYN_ADD_REQUEST_CONTEXT ] = undefined,
3251
+ _a.addIntEndpoints = true,
3252
+ _a);
3253
+ return config;
3254
+ }
3255
+ function _getEmptyConfig() {
3256
+ var emptyConfig = _getDefaultConfig();
3257
+ objForEachKey(emptyConfig, function (value) {
3258
+ emptyConfig[value] = undefined;
3259
+ });
3260
+ return emptyConfig;
3261
+ }
3194
3262
  var AjaxMonitor = /** @class */ (function (_super) {
3195
3263
  __extendsFn(AjaxMonitor, _super);
3196
3264
  function AjaxMonitor() {
@@ -3217,8 +3285,9 @@
3217
3285
  var _excludeRequestFromAutoTrackingPatterns;
3218
3286
  var _addRequestContext;
3219
3287
  var _evtNamespace;
3220
- var _dependencyListenerId;
3288
+ var _dependencyHandlerId;
3221
3289
  var _dependencyListeners;
3290
+ var _dependencyInitializers;
3222
3291
  dynamicProto(AjaxMonitor, _this, function (_self, _base) {
3223
3292
  var _addHook = _base._addHook;
3224
3293
  _initDefaults();
@@ -3236,9 +3305,9 @@
3236
3305
  _initDefaults();
3237
3306
  };
3238
3307
  _self.trackDependencyData = function (dependency, properties) {
3239
- _self[_DYN_TRACK_DEPENDENCY_DAT2 ](dependency, properties);
3308
+ _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], null, dependency, properties);
3240
3309
  };
3241
- _self[_DYN_INCLUDE_CORRELATION_3 ] = function (ajaxData, input, init, xhr) {
3310
+ _self[_DYN_INCLUDE_CORRELATION_2 ] = function (ajaxData, input, init, xhr) {
3242
3311
  var currentWindowHost = _self["_currentWindowHost"] || _currentWindowHost;
3243
3312
  _processDependencyListeners(_dependencyListeners, _self[_DYN_CORE ], ajaxData, xhr, input, init);
3244
3313
  if (input) {
@@ -3308,7 +3377,7 @@
3308
3377
  }
3309
3378
  return undefined;
3310
3379
  };
3311
- _self[_DYN_TRACK_DEPENDENCY_DAT2 ] = function (dependency, properties, systemProperties) {
3380
+ _self[_DYN_TRACK_DEPENDENCY_DAT3 ] = function (dependency, properties, systemProperties) {
3312
3381
  if (_maxAjaxCallsPerView === -1 || _trackAjaxAttempts < _maxAjaxCallsPerView) {
3313
3382
  if ((_config[_DYN_DISTRIBUTED_TRACING_4 ] === 2
3314
3383
  || _config[_DYN_DISTRIBUTED_TRACING_4 ] === 1 )
@@ -3327,22 +3396,10 @@
3327
3396
  ++_trackAjaxAttempts;
3328
3397
  };
3329
3398
  _self.addDependencyListener = function (dependencyListener) {
3330
- var theInitializer = {
3331
- id: _dependencyListenerId++,
3332
- fn: dependencyListener
3333
- };
3334
- _dependencyListeners.push(theInitializer);
3335
- var handler = {
3336
- remove: function () {
3337
- arrForEach(_dependencyListeners, function (initializer, idx) {
3338
- if (initializer.id === theInitializer.id) {
3339
- _dependencyListeners.splice(idx, 1);
3340
- return -1;
3341
- }
3342
- });
3343
- }
3344
- };
3345
- return handler;
3399
+ return _addHandler(_dependencyListeners, _dependencyHandlerId++, dependencyListener);
3400
+ };
3401
+ _self.addDependencyInitializer = function (dependencyInitializer) {
3402
+ return _addHandler(_dependencyInitializers, _dependencyHandlerId++, dependencyInitializer);
3346
3403
  };
3347
3404
  function _initDefaults() {
3348
3405
  var location = getLocation();
@@ -3366,13 +3423,14 @@
3366
3423
  _excludeRequestFromAutoTrackingPatterns = null;
3367
3424
  _addRequestContext = null;
3368
3425
  _evtNamespace = null;
3369
- _dependencyListenerId = 0;
3426
+ _dependencyHandlerId = 0;
3370
3427
  _dependencyListeners = [];
3428
+ _dependencyInitializers = [];
3371
3429
  }
3372
3430
  function _populateDefaults(config) {
3373
3431
  var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE ]);
3374
- _config = AjaxMonitor.getEmptyConfig();
3375
- var defaultConfig = AjaxMonitor[_DYN_GET_DEFAULT_CONFIG ]();
3432
+ _config = _getEmptyConfig();
3433
+ var defaultConfig = _getDefaultConfig();
3376
3434
  objForEachKey(defaultConfig, function (field, value) {
3377
3435
  _config[field] = ctx.getConfig(AjaxMonitor.identifier, field, value);
3378
3436
  });
@@ -3382,7 +3440,7 @@
3382
3440
  _enableAjaxPerfTracking = _config[_DYN_ENABLE_AJAX_PERF_TRA7 ];
3383
3441
  _maxAjaxCallsPerView = _config[_DYN_MAX_AJAX_CALLS_PER_V8 ];
3384
3442
  _enableResponseHeaderTracking = _config[_DYN_ENABLE_RESPONSE_HEAD9 ];
3385
- _excludeRequestFromAutoTrackingPatterns = _config[_DYN_EXCLUDE_REQUEST_FROM10 ];
3443
+ _excludeRequestFromAutoTrackingPatterns = [].concat(_config[_DYN_EXCLUDE_REQUEST_FROM10 ] || [], _config.addIntEndpoints !== false ? _internalExcludeEndpoints : []);
3386
3444
  _addRequestContext = _config[_DYN_ADD_REQUEST_CONTEXT ];
3387
3445
  _isUsingAIHeaders = distributedTracingMode === 0 || distributedTracingMode === 1 ;
3388
3446
  _isUsingW3CHeaders = distributedTracingMode === 1 || distributedTracingMode === 2 ;
@@ -3401,7 +3459,7 @@
3401
3459
  function _populateContext() {
3402
3460
  var propExt = _self[_DYN_CORE ].getPlugin(PropertiesPluginIdentifier);
3403
3461
  if (propExt) {
3404
- _context = propExt.plugin.context;
3462
+ _context = propExt.plugin[_DYN_CONTEXT ];
3405
3463
  }
3406
3464
  }
3407
3465
  function _canIncludeHeaders(header) {
@@ -3433,7 +3491,7 @@
3433
3491
  !(isPolyfill && _xhrInitialized)) {
3434
3492
  var ctx = callDetails.ctx();
3435
3493
  fetchData = _createFetchRecord(input, init);
3436
- var newInit = _self[_DYN_INCLUDE_CORRELATION_3 ](fetchData, input, init);
3494
+ var newInit = _self[_DYN_INCLUDE_CORRELATION_2 ](fetchData, input, init);
3437
3495
  if (newInit !== init) {
3438
3496
  callDetails.set(1, newInit);
3439
3497
  }
@@ -3473,7 +3531,7 @@
3473
3531
  }
3474
3532
  }
3475
3533
  },
3476
- hkErr: _createErrorCallbackFunc(_self, 15 , "Failed to monitor Window.fetch, monitoring data for this fetch call may be incorrect.")
3534
+ hkErr: _createErrorCallbackFunc(_self, 15 , "Failed to monitor Window.fetch" + ERROR_POSTFIX)
3477
3535
  }));
3478
3536
  _fetchInitialized = true;
3479
3537
  }
@@ -3508,7 +3566,7 @@
3508
3566
  }
3509
3567
  }
3510
3568
  },
3511
- hkErr: _createErrorCallbackFunc(_self, 15 , "Failed to monitor XMLHttpRequest.open, monitoring data for this ajax call may be incorrect.")
3569
+ hkErr: _createErrorCallbackFunc(_self, 15 , ERROR_HEADER + ".open" + ERROR_POSTFIX)
3512
3570
  });
3513
3571
  _hookProto(XMLHttpRequest, "send", {
3514
3572
  ns: _evtNamespace,
@@ -3519,12 +3577,12 @@
3519
3577
  if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState[_DYN_SEND_DONE ]) {
3520
3578
  _createMarkId("xhr", ajaxData);
3521
3579
  ajaxData[_DYN_REQUEST_SENT_TIME ] = dateTimeUtilsNow();
3522
- _self[_DYN_INCLUDE_CORRELATION_3 ](ajaxData, undefined, undefined, xhr);
3580
+ _self[_DYN_INCLUDE_CORRELATION_2 ](ajaxData, undefined, undefined, xhr);
3523
3581
  ajaxData.xhrMonitoringState[_DYN_SEND_DONE ] = true;
3524
3582
  }
3525
3583
  }
3526
3584
  },
3527
- hkErr: _createErrorCallbackFunc(_self, 17 , "Failed to monitor XMLHttpRequest, monitoring data for this ajax call may be incorrect.")
3585
+ hkErr: _createErrorCallbackFunc(_self, 17 , ERROR_HEADER + ERROR_POSTFIX)
3528
3586
  });
3529
3587
  _hookProto(XMLHttpRequest, "abort", {
3530
3588
  ns: _evtNamespace,
@@ -3538,7 +3596,7 @@
3538
3596
  }
3539
3597
  }
3540
3598
  },
3541
- hkErr: _createErrorCallbackFunc(_self, 13 , "Failed to monitor XMLHttpRequest.abort, monitoring data for this ajax call may be incorrect.")
3599
+ hkErr: _createErrorCallbackFunc(_self, 13 , ERROR_HEADER + ".abort" + ERROR_POSTFIX)
3542
3600
  });
3543
3601
  _hookProto(XMLHttpRequest, "setRequestHeader", {
3544
3602
  ns: _evtNamespace,
@@ -3550,7 +3608,7 @@
3550
3608
  }
3551
3609
  }
3552
3610
  },
3553
- hkErr: _createErrorCallbackFunc(_self, 71 , "Failed to monitor XMLHttpRequest.setRequestHeader, monitoring data for this ajax call may be incorrect.")
3611
+ hkErr: _createErrorCallbackFunc(_self, 71 , ERROR_HEADER + ".setRequestHeader" + ERROR_POSTFIX)
3554
3612
  });
3555
3613
  _xhrInitialized = true;
3556
3614
  }
@@ -3645,7 +3703,7 @@
3645
3703
  catch (e) {
3646
3704
  var exceptionText = dumpObj(e);
3647
3705
  if (!exceptionText || _indexOf(exceptionText[_DYN_TO_LOWER_CASE ](), "c00c023f") === -1) {
3648
- _throwInternalCritical(_self, 16 , "Failed to monitor XMLHttpRequest 'readystatechange' event handler, monitoring data for this ajax call may be incorrect.", (_a = {},
3706
+ _throwInternalCritical(_self, 16 , ERROR_HEADER + " 'readystatechange' event handler" + ERROR_POSTFIX, (_a = {},
3649
3707
  _a[_DYN_AJAX_DIAGNOSTICS_MES17 ] = _getFailedAjaxDiagnosticsMessage(xhr),
3650
3708
  _a.exception = exceptionText,
3651
3709
  _a));
@@ -3674,7 +3732,7 @@
3674
3732
  if (e) {
3675
3733
  errorProps["exception"] = dumpObj(e);
3676
3734
  }
3677
- _throwInternalWarning(_self, 14 , "Failed to calculate the duration of the ajax call, monitoring data for this ajax call won't be sent.", errorProps);
3735
+ _throwInternalWarning(_self, 14 , FAILED_TO_CALCULATE_DURATION_ERROR + "ajax call" + ERROR_NOT_SENT, errorProps);
3678
3736
  }
3679
3737
  _findPerfResourceEntry("xmlhttprequest", ajaxData, function () {
3680
3738
  try {
@@ -3714,13 +3772,14 @@
3714
3772
  }
3715
3773
  }
3716
3774
  catch (e) {
3717
- _throwInternalWarning(_self, 104 , "Failed to add custom defined request context as configured call back may missing a null check.");
3775
+ _throwInternalWarning(_self, 104 , CUSTOM_REQUEST_CONTEXT_ERROR);
3718
3776
  }
3719
3777
  if (dependency) {
3720
3778
  if (properties !== undefined) {
3721
3779
  dependency[STR_PROPERTIES ] = __assignFn(__assignFn({}, dependency.properties), properties);
3722
3780
  }
3723
- _self[_DYN_TRACK_DEPENDENCY_DAT2 ](dependency, null, ajaxData[_DYN_GET_PART_APROPS ]());
3781
+ var sysProperties = ajaxData[_DYN_GET_PART_APROPS ]();
3782
+ _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], ajaxData, dependency, null, sysProperties);
3724
3783
  }
3725
3784
  else {
3726
3785
  _reportXhrError(null, {
@@ -3753,7 +3812,7 @@
3753
3812
  }
3754
3813
  }
3755
3814
  catch (e) {
3756
- _throwInternalWarning(_self, 18 , "Failed to get Request-Context correlation header as it may be not included in the response or not accessible.", (_a = {},
3815
+ _throwInternalWarning(_self, 18 , CORRELATION_HEADER_ERROR, (_a = {},
3757
3816
  _a[_DYN_AJAX_DIAGNOSTICS_MES17 ] = _getFailedAjaxDiagnosticsMessage(xhr),
3758
3817
  _a.exception = dumpObj(e),
3759
3818
  _a));
@@ -3887,7 +3946,7 @@
3887
3946
  if (e) {
3888
3947
  errorProps["exception"] = dumpObj(e);
3889
3948
  }
3890
- _throwInternalWarning(_self, msgId, "Failed to calculate the duration of the fetch call, monitoring data for this fetch call won't be sent.", errorProps);
3949
+ _throwInternalWarning(_self, msgId, FAILED_TO_CALCULATE_DURATION_ERROR + "fetch call" + ERROR_NOT_SENT, errorProps);
3891
3950
  }
3892
3951
  ajaxData[_DYN_RESPONSE_FINISHED_TI14 ] = dateTimeUtilsNow();
3893
3952
  ajaxData[_DYN_STATUS ] = status;
@@ -3900,13 +3959,14 @@
3900
3959
  }
3901
3960
  }
3902
3961
  catch (e) {
3903
- _throwInternalWarning(_self, 104 , "Failed to add custom defined request context as configured call back may missing a null check.");
3962
+ _throwInternalWarning(_self, 104 , CUSTOM_REQUEST_CONTEXT_ERROR);
3904
3963
  }
3905
3964
  if (dependency) {
3906
3965
  if (properties !== undefined) {
3907
3966
  dependency[STR_PROPERTIES ] = __assignFn(__assignFn({}, dependency.properties), properties);
3908
3967
  }
3909
- _self[_DYN_TRACK_DEPENDENCY_DAT2 ](dependency, null, ajaxData[_DYN_GET_PART_APROPS ]());
3968
+ var sysProperties = ajaxData[_DYN_GET_PART_APROPS ]();
3969
+ _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE ], ajaxData, dependency, null, sysProperties);
3910
3970
  }
3911
3971
  else {
3912
3972
  _reportFetchError(14 , null, {
@@ -3925,56 +3985,43 @@
3925
3985
  return correlationIdGetCorrelationContext(responseHeader);
3926
3986
  }
3927
3987
  catch (e) {
3928
- _throwInternalWarning(_self, 18 , "Failed to get Request-Context correlation header as it may be not included in the response or not accessible.", {
3988
+ _throwInternalWarning(_self, 18 , CORRELATION_HEADER_ERROR, {
3929
3989
  fetchDiagnosticsMessage: _getFailedFetchDiagnosticsMessage(response),
3930
3990
  exception: dumpObj(e)
3931
3991
  });
3932
3992
  }
3933
3993
  }
3934
3994
  }
3995
+ function _reportDependencyInternal(initializers, core, ajaxData, dependency, properties, systemProperties) {
3996
+ var _a;
3997
+ var result = true;
3998
+ var initializersCount = initializers[_DYN_LENGTH ];
3999
+ if (initializersCount > 0) {
4000
+ var details = (_a = {
4001
+ item: dependency
4002
+ },
4003
+ _a[STR_PROPERTIES ] = properties,
4004
+ _a.sysProperties = systemProperties,
4005
+ _a.context = ajaxData ? ajaxData[_DYN_CONTEXT ] : null,
4006
+ _a);
4007
+ result = _processDependencyContainer(core, initializers, details, "initializer");
4008
+ }
4009
+ if (result) {
4010
+ _self[_DYN_TRACK_DEPENDENCY_DAT3 ](dependency, properties, systemProperties);
4011
+ }
4012
+ }
3935
4013
  });
3936
4014
  return _this;
3937
4015
  }
3938
- AjaxMonitor.getDefaultConfig = function () {
3939
- var _a;
3940
- var config = (_a = {},
3941
- _a[_DYN_MAX_AJAX_CALLS_PER_V8 ] = 500,
3942
- _a[_DYN_DISABLE_AJAX_TRACKIN11 ] = false,
3943
- _a[_DYN_DISABLE_FETCH_TRACKI12 ] = false,
3944
- _a[_DYN_EXCLUDE_REQUEST_FROM10 ] = undefined,
3945
- _a.disableCorrelationHeaders = false,
3946
- _a.distributedTracingMode = 1 ,
3947
- _a.correlationHeaderExcludedDomains = DfltAjaxCorrelationHeaderExDomains,
3948
- _a.correlationHeaderDomains = undefined,
3949
- _a.correlationHeaderExcludePatterns = undefined,
3950
- _a[_DYN_APP_ID ] = undefined,
3951
- _a.enableCorsCorrelation = false,
3952
- _a[_DYN_ENABLE_REQUEST_HEADE5 ] = false,
3953
- _a[_DYN_ENABLE_RESPONSE_HEAD9 ] = false,
3954
- _a[_DYN_ENABLE_AJAX_ERROR_ST6 ] = false,
3955
- _a[_DYN_ENABLE_AJAX_PERF_TRA7 ] = false,
3956
- _a.maxAjaxPerfLookupAttempts = 3,
3957
- _a[_DYN_AJAX_PERF_LOOKUP_DEL16 ] = 25,
3958
- _a.ignoreHeaders = [
3959
- "Authorization",
3960
- "X-API-Key",
3961
- "WWW-Authenticate"
3962
- ],
3963
- _a[_DYN_ADD_REQUEST_CONTEXT ] = undefined,
3964
- _a);
3965
- return config;
3966
- };
3967
- AjaxMonitor.getEmptyConfig = function () {
3968
- var emptyConfig = this[_DYN_GET_DEFAULT_CONFIG ]();
3969
- objForEachKey(emptyConfig, function (value) {
3970
- emptyConfig[value] = undefined;
3971
- });
3972
- return emptyConfig;
3973
- };
3974
4016
  AjaxMonitor.prototype.processTelemetry = function (item, itemCtx) {
3975
4017
  this.processNext(item, itemCtx);
3976
4018
  };
4019
+ AjaxMonitor.prototype.addDependencyInitializer = function (dependencyInitializer) {
4020
+ return null;
4021
+ };
3977
4022
  AjaxMonitor.identifier = "AjaxDependencyPlugin";
4023
+ AjaxMonitor.getDefaultConfig = _getDefaultConfig;
4024
+ AjaxMonitor.getEmptyConfig = _getEmptyConfig;
3978
4025
  return AjaxMonitor;
3979
4026
  }(BaseTelemetryPlugin));
3980
4027