@microsoft/applicationinsights-web-basic 3.1.1-nightly3.2402-20 → 3.1.1-nightly3.2403-02

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 (47) hide show
  1. package/browser/es5/{aib.3.1.1-nightly3.2402-20.cjs.js → aib.3.1.1-nightly3.2403-02.cjs.js} +617 -348
  2. package/browser/es5/aib.3.1.1-nightly3.2403-02.cjs.js.map +1 -0
  3. package/browser/es5/aib.3.1.1-nightly3.2403-02.cjs.min.js +6 -0
  4. package/browser/es5/aib.3.1.1-nightly3.2403-02.cjs.min.js.map +1 -0
  5. package/browser/es5/{aib.3.1.1-nightly3.2402-20.gbl.js → aib.3.1.1-nightly3.2403-02.gbl.js} +619 -350
  6. package/browser/es5/aib.3.1.1-nightly3.2403-02.gbl.js.map +1 -0
  7. package/browser/es5/aib.3.1.1-nightly3.2403-02.gbl.min.js +6 -0
  8. package/browser/es5/aib.3.1.1-nightly3.2403-02.gbl.min.js.map +1 -0
  9. package/browser/es5/aib.3.1.1-nightly3.2403-02.integrity.json +66 -0
  10. package/browser/es5/{aib.3.1.1-nightly3.2402-20.js → aib.3.1.1-nightly3.2403-02.js} +619 -350
  11. package/browser/es5/aib.3.1.1-nightly3.2403-02.js.map +1 -0
  12. package/browser/es5/aib.3.1.1-nightly3.2403-02.min.js +6 -0
  13. package/browser/es5/aib.3.1.1-nightly3.2403-02.min.js.map +1 -0
  14. package/browser/es5/aib.3.cjs.js +616 -347
  15. package/browser/es5/aib.3.cjs.js.map +1 -1
  16. package/browser/es5/aib.3.cjs.min.js +2 -2
  17. package/browser/es5/aib.3.cjs.min.js.map +1 -1
  18. package/browser/es5/aib.3.gbl.js +618 -349
  19. package/browser/es5/aib.3.gbl.js.map +1 -1
  20. package/browser/es5/aib.3.gbl.min.js +2 -2
  21. package/browser/es5/aib.3.gbl.min.js.map +1 -1
  22. package/browser/es5/aib.3.integrity.json +25 -25
  23. package/browser/es5/aib.3.js +618 -349
  24. package/browser/es5/aib.3.js.map +1 -1
  25. package/browser/es5/aib.3.min.js +2 -2
  26. package/browser/es5/aib.3.min.js.map +1 -1
  27. package/dist/es5/applicationinsights-web-basic.js +616 -347
  28. package/dist/es5/applicationinsights-web-basic.js.map +1 -1
  29. package/dist/es5/applicationinsights-web-basic.min.js +2 -2
  30. package/dist/es5/applicationinsights-web-basic.min.js.map +1 -1
  31. package/dist-es5/__DynamicConstants.js +3 -1
  32. package/dist-es5/__DynamicConstants.js.map +1 -1
  33. package/dist-es5/index.js +5 -3
  34. package/dist-es5/index.js.map +1 -1
  35. package/package.json +4 -4
  36. package/types/applicationinsights-web-basic.d.ts +1 -1
  37. package/types/applicationinsights-web-basic.namespaced.d.ts +44 -1
  38. package/browser/es5/aib.3.1.1-nightly3.2402-20.cjs.js.map +0 -1
  39. package/browser/es5/aib.3.1.1-nightly3.2402-20.cjs.min.js +0 -6
  40. package/browser/es5/aib.3.1.1-nightly3.2402-20.cjs.min.js.map +0 -1
  41. package/browser/es5/aib.3.1.1-nightly3.2402-20.gbl.js.map +0 -1
  42. package/browser/es5/aib.3.1.1-nightly3.2402-20.gbl.min.js +0 -6
  43. package/browser/es5/aib.3.1.1-nightly3.2402-20.gbl.min.js.map +0 -1
  44. package/browser/es5/aib.3.1.1-nightly3.2402-20.integrity.json +0 -66
  45. package/browser/es5/aib.3.1.1-nightly3.2402-20.js.map +0 -1
  46. package/browser/es5/aib.3.1.1-nightly3.2402-20.min.js +0 -6
  47. package/browser/es5/aib.3.1.1-nightly3.2402-20.min.js.map +0 -1
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * Application Insights JavaScript Web SDK - Basic, 3.1.1-nightly3.2402-20
2
+ * Application Insights JavaScript Web SDK - Basic, 3.1.1-nightly3.2403-02
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
6
6
  var undef = "undefined";
7
- var nsKey, key, nm, theExports = {}, modName = "es5_aib_3_1_1_nightly3_2402_20", msMod="__ms$mod__";
8
- var mods={}, modDetail=mods[modName]={}, ver="3.1.1-nightly3.2402-20";
7
+ var nsKey, key, nm, theExports = {}, modName = "es5_aib_3_1_1_nightly3_2403_02", msMod="__ms$mod__";
8
+ var mods={}, modDetail=mods[modName]={}, ver="3.1.1-nightly3.2403-02";
9
9
  var baseNs=global, nsKey="Microsoft", baseNs=baseNs[nsKey]=(baseNs[nsKey]||{});
10
10
  // Versioned namespace "Microsoft.ApplicationInsights3"
11
11
  var exportNs=baseNs, nsKey="ApplicationInsights3", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
@@ -1338,7 +1338,7 @@ var _DYN_PUSH$2 = "push";
1338
1338
  var _DYN_SPLICE = "splice";
1339
1339
  var _DYN_HDLR = "hdlr";
1340
1340
  var _DYN_CANCEL = "cancel";
1341
- var _DYN_INITIALIZE = "initialize";
1341
+ var _DYN_INITIALIZE$1 = "initialize";
1342
1342
  var _DYN_IDENTIFIER = "identifier";
1343
1343
  var _DYN_IS_INITIALIZED = "isInitialized";
1344
1344
  var _DYN_GET_PLUGIN = "getPlugin";
@@ -1728,7 +1728,7 @@ function createPromise(executor, timeout) {
1728
1728
  var createAllPromise = _createAllPromise(createPromise);
1729
1729
 
1730
1730
  var UNDEFINED_VALUE$1 = undefined;
1731
- var STR_EMPTY = "";
1731
+ var STR_EMPTY$1 = "";
1732
1732
  var STR_CHANNELS = "channels";
1733
1733
  var STR_CORE = "core";
1734
1734
  var STR_CREATE_PERF_MGR = "createPerfMgr";
@@ -1741,6 +1741,9 @@ var STR_EVENTS_SENT = "eventsSent";
1741
1741
  var STR_EVENTS_DISCARDED = "eventsDiscarded";
1742
1742
  var STR_EVENTS_SEND_REQUEST = "eventsSendRequest";
1743
1743
  var STR_PERF_EVENT = "perfEvent";
1744
+ var STR_OFFLINE_STORE = "offlineEventsStored";
1745
+ var STR_OFFLINE_SENT = "offlineBatchSent";
1746
+ var STR_OFFLINE_DROP = "offlineBatchDrop";
1744
1747
  var STR_GET_PERF_MGR = "getPerfMgr";
1745
1748
  var STR_DOMAIN = "domain";
1746
1749
  var STR_PATH = "path";
@@ -1778,7 +1781,7 @@ function getExceptionName(object) {
1778
1781
  if (isError(object)) {
1779
1782
  return object[_DYN_NAME$2 ];
1780
1783
  }
1781
- return STR_EMPTY;
1784
+ return STR_EMPTY$1;
1782
1785
  }
1783
1786
  function setValue(target, field, value, valChk, srcChk) {
1784
1787
  var theValue = value;
@@ -1981,7 +1984,7 @@ function isIE() {
1981
1984
  var nav = getNavigator();
1982
1985
  if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
1983
1986
  _navUserAgentCheck = nav[_DYN_USER_AGENT ];
1984
- var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
1987
+ var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]();
1985
1988
  _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
1986
1989
  }
1987
1990
  return _isTrident;
@@ -1990,9 +1993,9 @@ function getIEVersion(userAgentStr) {
1990
1993
  if (userAgentStr === void 0) { userAgentStr = null; }
1991
1994
  if (!userAgentStr) {
1992
1995
  var navigator_1 = getNavigator() || {};
1993
- userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]() : STR_EMPTY;
1996
+ userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]() : STR_EMPTY$1;
1994
1997
  }
1995
- var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
1998
+ var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]();
1996
1999
  if (strContains(ua, strMsie)) {
1997
2000
  var doc = getDocument() || {};
1998
2001
  return Math.max(parseInt(ua[_DYN_SPLIT$1 ](strMsie)[1]), (doc[strDocumentMode] || 0));
@@ -2101,7 +2104,7 @@ function newId(maxLength) {
2101
2104
  var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
2102
2105
  var number = random32() >>> 0;
2103
2106
  var chars = 0;
2104
- var result = STR_EMPTY;
2107
+ var result = STR_EMPTY$1;
2105
2108
  while (result[_DYN_LENGTH$2 ] < maxLength) {
2106
2109
  chars++;
2107
2110
  result += base64chars.charAt(number & 0x3F);
@@ -2139,11 +2142,11 @@ function _getCache(data, target) {
2139
2142
  }
2140
2143
  function createUniqueNamespace(name, includeVersion) {
2141
2144
  if (includeVersion === void 0) { includeVersion = false; }
2142
- return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
2145
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY$1) + instanceName);
2143
2146
  }
2144
2147
  function createElmNodeData(name) {
2145
2148
  var data = {
2146
- id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
2149
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY$1) + "." + version),
2147
2150
  accept: function (target) {
2148
2151
  return _canAcceptData(target);
2149
2152
  },
@@ -2896,9 +2899,9 @@ var _logFuncs = (_a$4 = {},
2896
2899
  _a$4);
2897
2900
  function _sanitizeDiagnosticText(text) {
2898
2901
  if (text) {
2899
- return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
2902
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
2900
2903
  }
2901
- return STR_EMPTY;
2904
+ return STR_EMPTY$1;
2902
2905
  }
2903
2906
  function _logToConsole(func, message) {
2904
2907
  var theConsole = getConsole();
@@ -2920,12 +2923,12 @@ var _InternalLogMessage = /** @class */ (function () {
2920
2923
  _self[_DYN_MESSAGE$1 ] =
2921
2924
  (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
2922
2925
  msgId;
2923
- var strProps = STR_EMPTY;
2926
+ var strProps = STR_EMPTY$1;
2924
2927
  if (hasJSON()) {
2925
2928
  strProps = getJSON().stringify(properties);
2926
2929
  }
2927
- var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
2928
- (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
2930
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
2931
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
2929
2932
  _self[_DYN_MESSAGE$1 ] += diagnosticText;
2930
2933
  }
2931
2934
  _InternalLogMessage.dataType = "MessageData";
@@ -3164,7 +3167,7 @@ function createCookieMgr(rootConfig, logger) {
3164
3167
  var result = false;
3165
3168
  if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {
3166
3169
  var values = {};
3167
- var theValue = strTrim(value || STR_EMPTY);
3170
+ var theValue = strTrim(value || STR_EMPTY$1);
3168
3171
  var idx = strIndexOf(theValue, ";");
3169
3172
  if (idx !== -1) {
3170
3173
  theValue = strTrim(strLeft(value, idx));
@@ -3179,11 +3182,11 @@ function createCookieMgr(rootConfig, logger) {
3179
3182
  if (expireMs > 0) {
3180
3183
  var expiry = new Date();
3181
3184
  expiry.setTime(expireMs);
3182
- setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);
3185
+ setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY$1, isTruthy);
3183
3186
  }
3184
3187
  }
3185
3188
  if (!_isIE) {
3186
- setValue(values, "max-age", STR_EMPTY + maxAgeSec, null, isUndefined);
3189
+ setValue(values, "max-age", STR_EMPTY$1 + maxAgeSec, null, isUndefined);
3187
3190
  }
3188
3191
  }
3189
3192
  var location_1 = getLocation();
@@ -3203,7 +3206,7 @@ function createCookieMgr(rootConfig, logger) {
3203
3206
  return result;
3204
3207
  },
3205
3208
  get: function (name) {
3206
- var value = STR_EMPTY;
3209
+ var value = STR_EMPTY$1;
3207
3210
  if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {
3208
3211
  value = _getCookieFn(name);
3209
3212
  }
@@ -3227,7 +3230,7 @@ function createCookieMgr(rootConfig, logger) {
3227
3230
  if (!isIE()) {
3228
3231
  values["max-age"] = "0";
3229
3232
  }
3230
- _delCookieFn(name, _formatCookieValue(STR_EMPTY, values));
3233
+ _delCookieFn(name, _formatCookieValue(STR_EMPTY$1, values));
3231
3234
  result = true;
3232
3235
  }
3233
3236
  return result;
@@ -3260,7 +3263,7 @@ function _extractParts(theValue) {
3260
3263
  if (theValue && theValue[_DYN_LENGTH$2 ]) {
3261
3264
  var parts = strTrim(theValue)[_DYN_SPLIT$1 ](";");
3262
3265
  arrForEach(parts, function (thePart) {
3263
- thePart = strTrim(thePart || STR_EMPTY);
3266
+ thePart = strTrim(thePart || STR_EMPTY$1);
3264
3267
  if (thePart) {
3265
3268
  var idx = strIndexOf(thePart, "=");
3266
3269
  if (idx === -1) {
@@ -3281,22 +3284,22 @@ function _formatDate(theDate, func) {
3281
3284
  return null;
3282
3285
  }
3283
3286
  function _formatCookieValue(value, values) {
3284
- var cookieValue = value || STR_EMPTY;
3287
+ var cookieValue = value || STR_EMPTY$1;
3285
3288
  objForEachKey(values, function (name, theValue) {
3286
- cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY);
3289
+ cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY$1);
3287
3290
  });
3288
3291
  return cookieValue;
3289
3292
  }
3290
3293
  function _getCookieValue(name) {
3291
- var cookieValue = STR_EMPTY;
3294
+ var cookieValue = STR_EMPTY$1;
3292
3295
  !_doc && _getDoc();
3293
3296
  if (_doc.v) {
3294
- var theCookie = _doc.v[strCookie] || STR_EMPTY;
3297
+ var theCookie = _doc.v[strCookie] || STR_EMPTY$1;
3295
3298
  if (_parsedCookieValue !== theCookie) {
3296
3299
  _cookieCache = _extractParts(theCookie);
3297
3300
  _parsedCookieValue = theCookie;
3298
3301
  }
3299
- cookieValue = strTrim(_cookieCache[name] || STR_EMPTY);
3302
+ cookieValue = strTrim(_cookieCache[name] || STR_EMPTY$1);
3300
3303
  }
3301
3304
  return cookieValue;
3302
3305
  }
@@ -3403,6 +3406,28 @@ var NotificationManager = /** @class */ (function () {
3403
3406
  }
3404
3407
  }
3405
3408
  };
3409
+ _self[STR_OFFLINE_STORE ] = function (events) {
3410
+ if (events && events[_DYN_LENGTH$2 ]) {
3411
+ _runListeners(_listeners, STR_OFFLINE_STORE, true, function (listener) {
3412
+ listener[STR_OFFLINE_STORE ](events);
3413
+ });
3414
+ }
3415
+ };
3416
+ _self[STR_OFFLINE_SENT ] = function (batch) {
3417
+ if (batch && batch.data) {
3418
+ _runListeners(_listeners, STR_OFFLINE_SENT, true, function (listener) {
3419
+ listener[STR_OFFLINE_SENT ](batch);
3420
+ });
3421
+ }
3422
+ };
3423
+ _self[STR_OFFLINE_DROP ] = function (cnt, reason) {
3424
+ if (cnt > 0) {
3425
+ var rn_1 = reason || 0;
3426
+ _runListeners(_listeners, STR_OFFLINE_DROP, true, function (listener) {
3427
+ listener[STR_OFFLINE_DROP ](cnt, rn_1);
3428
+ });
3429
+ }
3430
+ };
3406
3431
  _self[_DYN_UNLOAD ] = function (isAsync) {
3407
3432
  var _finishUnload = function () {
3408
3433
  unloadHandler && unloadHandler.rm();
@@ -3626,7 +3651,7 @@ function initializePlugins(processContext, extensions) {
3626
3651
  }
3627
3652
  arrForEach(initPlugins, function (thePlugin) {
3628
3653
  var core = processContext[STR_CORE ]();
3629
- thePlugin[_DYN_INITIALIZE ](processContext.getCfg(), core, extensions, processContext[_DYN_GET_NEXT ]());
3654
+ thePlugin[_DYN_INITIALIZE$1 ](processContext.getCfg(), core, extensions, processContext[_DYN_GET_NEXT ]());
3630
3655
  pluginState = _getPluginState(thePlugin);
3631
3656
  if (!thePlugin[STR_CORE] && !pluginState[STR_CORE]) {
3632
3657
  pluginState[STR_CORE] = core;
@@ -3970,7 +3995,7 @@ function createTelemetryPluginProxy(plugin, config, core) {
3970
3995
  doPerf(itemCtx[STR_CORE ](), function () { return identifier + ":" + name; }, function () {
3971
3996
  hasRunContext[chainId] = true;
3972
3997
  try {
3973
- var nextId = nextProxy ? nextProxy._id : STR_EMPTY;
3998
+ var nextId = nextProxy ? nextProxy._id : STR_EMPTY$1;
3974
3999
  if (nextId) {
3975
4000
  hasRunContext[nextId] = false;
3976
4001
  }
@@ -4115,7 +4140,7 @@ var BaseTelemetryPlugin = /** @class */ (function () {
4115
4140
  var _hookContainer;
4116
4141
  _initDefaults();
4117
4142
  dynamicProto(BaseTelemetryPlugin, _self, function (_self) {
4118
- _self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
4143
+ _self[_DYN_INITIALIZE$1 ] = function (config, core, extensions, pluginChain) {
4119
4144
  _setDefaults(config, core, pluginChain);
4120
4145
  _isinitialized = true;
4121
4146
  };
@@ -4334,7 +4359,7 @@ function _validateExtensions(logger, channelPriority, allExtensions) {
4334
4359
  var channels = [];
4335
4360
  var extPriorities = {};
4336
4361
  arrForEach(allExtensions, function (ext) {
4337
- if (isNullOrUndefined(ext) || isNullOrUndefined(ext[_DYN_INITIALIZE ])) {
4362
+ if (isNullOrUndefined(ext) || isNullOrUndefined(ext[_DYN_INITIALIZE$1 ])) {
4338
4363
  throwError(strValidationError);
4339
4364
  }
4340
4365
  var extPriority = ext[STR_PRIORITY ];
@@ -4459,7 +4484,7 @@ var AppInsightsCore = /** @class */ (function () {
4459
4484
  return [_extensions];
4460
4485
  };
4461
4486
  _self[_DYN_IS_INITIALIZED ] = function () { return _isInitialized; };
4462
- _self[_DYN_INITIALIZE ] = function (config, extensions, logger, notificationManager) {
4487
+ _self[_DYN_INITIALIZE$1 ] = function (config, extensions, logger, notificationManager) {
4463
4488
  if (_isUnloading) {
4464
4489
  throwError(strSdkUnloadingError);
4465
4490
  }
@@ -4822,7 +4847,7 @@ var AppInsightsCore = /** @class */ (function () {
4822
4847
  }
4823
4848
  _pluginVersionString = _pluginVersionStringArr.join(";");
4824
4849
  }
4825
- return _pluginVersionString || STR_EMPTY;
4850
+ return _pluginVersionString || STR_EMPTY$1;
4826
4851
  }
4827
4852
  });
4828
4853
  objDefine(_self, "logger", {
@@ -5135,16 +5160,16 @@ var elmNodeData = createElmNodeData("events");
5135
5160
  var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
5136
5161
  function _normalizeNamespace(name) {
5137
5162
  if (name && name[_DYN_REPLACE ]) {
5138
- return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY);
5163
+ return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY$1);
5139
5164
  }
5140
5165
  return name;
5141
5166
  }
5142
5167
  function _getEvtNamespace(eventName, evtNamespace) {
5143
5168
  var _a;
5144
5169
  if (evtNamespace) {
5145
- var theNamespace_1 = STR_EMPTY;
5170
+ var theNamespace_1 = STR_EMPTY$1;
5146
5171
  if (isArray(evtNamespace)) {
5147
- theNamespace_1 = STR_EMPTY;
5172
+ theNamespace_1 = STR_EMPTY$1;
5148
5173
  arrForEach(evtNamespace, function (name) {
5149
5174
  name = _normalizeNamespace(name);
5150
5175
  if (name) {
@@ -5162,13 +5187,13 @@ function _getEvtNamespace(eventName, evtNamespace) {
5162
5187
  if (theNamespace_1[0] !== ".") {
5163
5188
  theNamespace_1 = "." + theNamespace_1;
5164
5189
  }
5165
- eventName = (eventName || STR_EMPTY) + theNamespace_1;
5190
+ eventName = (eventName || STR_EMPTY$1) + theNamespace_1;
5166
5191
  }
5167
5192
  }
5168
- var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
5193
+ var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY$1) || []);
5169
5194
  return _a = {},
5170
5195
  _a[_DYN_TYPE ] = parsedEvent[1],
5171
- _a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT$1 ](".").sort()).join("."),
5196
+ _a.ns = ((parsedEvent[2] || STR_EMPTY$1).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY$1)[_DYN_SPLIT$1 ](".").sort()).join("."),
5172
5197
  _a;
5173
5198
  }
5174
5199
  function _getRegisteredEvents(target, evtName, addDefault) {
@@ -5317,15 +5342,21 @@ var RequestHeaders = createValueMap({
5317
5342
  var _DYN_SPLIT = "split";
5318
5343
  var _DYN_LENGTH$1 = "length";
5319
5344
  var _DYN_TO_LOWER_CASE = "toLowerCase";
5345
+ var _DYN_LOCATION = "location";
5320
5346
  var _DYN_INGESTIONENDPOINT = "ingestionendpoint";
5321
5347
  var _DYN_TO_STRING$1 = "toString";
5322
5348
  var _DYN_PUSH$1 = "push";
5349
+ var _DYN_URL_STRING = "urlString";
5350
+ var _DYN_DATA$1 = "data";
5351
+ var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
5352
+ var _DYN_REASON = "reason";
5353
+ var _DYN_MESSAGE = "message";
5323
5354
  var _DYN_REMOVE_ITEM = "removeItem";
5324
5355
  var _DYN_NAME$1 = "name";
5325
- var _DYN_MESSAGE = "message";
5326
5356
  var _DYN_COUNT$1 = "count";
5327
5357
  var _DYN_STRINGIFY$1 = "stringify";
5328
5358
  var _DYN_PATHNAME = "pathname";
5359
+ var _DYN_ITEMS_RECEIVED$1 = "itemsReceived";
5329
5360
  var _DYN_EXCEPTIONS = "exceptions";
5330
5361
  var _DYN_PARSED_STACK = "parsedStack";
5331
5362
  var _DYN_PROPERTIES = "properties";
@@ -5547,6 +5578,54 @@ function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName)
5547
5578
  data: data
5548
5579
  };
5549
5580
  }
5581
+ function getResponseText(xhr) {
5582
+ try {
5583
+ return xhr.responseText;
5584
+ }
5585
+ catch (e) {
5586
+ }
5587
+ return null;
5588
+ }
5589
+ function formatErrorMessageXdr(xdr, message) {
5590
+ if (xdr) {
5591
+ return "XDomainRequest,Response:" + getResponseText(xdr) || "";
5592
+ }
5593
+ return message;
5594
+ }
5595
+ function formatErrorMessageXhr(xhr, message) {
5596
+ if (xhr) {
5597
+ return "XMLHttpRequest,Status:" + xhr.status + ",Response:" + getResponseText(xhr) || xhr.response || "";
5598
+ }
5599
+ return message;
5600
+ }
5601
+ function prependTransports(theTransports, newTransports) {
5602
+ if (newTransports) {
5603
+ if (isNumber(newTransports)) {
5604
+ theTransports = [newTransports].concat(theTransports);
5605
+ }
5606
+ else if (isArray(newTransports)) {
5607
+ theTransports = newTransports.concat(theTransports);
5608
+ }
5609
+ }
5610
+ return theTransports;
5611
+ }
5612
+ function parseResponse(response, diagLog) {
5613
+ try {
5614
+ if (response && response !== "") {
5615
+ var result = getJSON().parse(response);
5616
+ if (result && result[_DYN_ITEMS_RECEIVED$1 ] && result[_DYN_ITEMS_RECEIVED$1 ] >= result.itemsAccepted &&
5617
+ result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH$1 ]) {
5618
+ return result;
5619
+ }
5620
+ }
5621
+ }
5622
+ catch (e) {
5623
+ _throwInternal(diagLog, 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
5624
+ response: response
5625
+ });
5626
+ }
5627
+ return null;
5628
+ }
5550
5629
 
5551
5630
  var StorageType = createEnumStyle({
5552
5631
  LocalStorage: 0 ,
@@ -5635,7 +5714,7 @@ function parseConnectionString(connectionString) {
5635
5714
  }, {});
5636
5715
  if (objKeys(result)[_DYN_LENGTH$1 ] > 0) {
5637
5716
  if (result.endpointsuffix) {
5638
- var locationPrefix = result.location ? result.location + "." : "";
5717
+ var locationPrefix = result[_DYN_LOCATION ] ? result[_DYN_LOCATION ] + "." : "";
5639
5718
  result[_DYN_INGESTIONENDPOINT ] = result[_DYN_INGESTIONENDPOINT ] || ("https://" + locationPrefix + "dc." + result.endpointsuffix);
5640
5719
  }
5641
5720
  result[_DYN_INGESTIONENDPOINT ] = result[_DYN_INGESTIONENDPOINT ] || DEFAULT_BREEZE_ENDPOINT;
@@ -5654,7 +5733,7 @@ var Envelope = /** @class */ (function () {
5654
5733
  _self.sampleRate = 100.0;
5655
5734
  _self.tags = {};
5656
5735
  _self[_DYN_NAME$1 ] = dataSanitizeString(logger, name) || strNotSpecified;
5657
- _self.data = data;
5736
+ _self[_DYN_DATA$1 ] = data;
5658
5737
  _self.time = toISOString(new Date());
5659
5738
  _self.aiDataContract = {
5660
5739
  time: 1 ,
@@ -5811,8 +5890,8 @@ function _getStackFromErrorObj(errorObj) {
5811
5890
  else if (getWindow() && getWindow()["opera"] && errorObj[strMessage]) {
5812
5891
  details = _getOperaStack(errorObj[_DYN_MESSAGE ]);
5813
5892
  }
5814
- else if (errorObj["reason"] && errorObj.reason[strStack]) {
5815
- details = _convertStackObj(errorObj.reason[strStack]);
5893
+ else if (errorObj["reason"] && errorObj[_DYN_REASON ][strStack]) {
5894
+ details = _convertStackObj(errorObj[_DYN_REASON ][strStack]);
5816
5895
  }
5817
5896
  else if (isString(errorObj)) {
5818
5897
  details = _convertStackObj(errorObj);
@@ -6283,7 +6362,7 @@ var RemoteDependencyData = /** @class */ (function () {
6283
6362
  _self.resultCode = resultCode + "";
6284
6363
  _self.type = dataSanitizeString(logger, requestAPI);
6285
6364
  var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);
6286
- _self.data = dataSanitizeUrl(logger, commandName) || dependencyFields.data;
6365
+ _self[_DYN_DATA$1 ] = dataSanitizeUrl(logger, commandName) || dependencyFields[_DYN_DATA$1 ];
6287
6366
  _self.target = dataSanitizeString(logger, dependencyFields.target);
6288
6367
  if (correlationContext) {
6289
6368
  _self.target = "".concat(_self.target, " | ").concat(correlationContext);
@@ -6457,6 +6536,360 @@ var ContextTagKeys = /** @class */ (function (_super) {
6457
6536
 
6458
6537
  var CtxTagKeys = new ContextTagKeys();
6459
6538
 
6539
+ var STR_EMPTY = "";
6540
+ var SenderPostManager = /** @class */ (function () {
6541
+ function SenderPostManager() {
6542
+ var _syncFetchPayload = 0;
6543
+ var _enableSendPromise;
6544
+ var _isInitialized;
6545
+ var _diagLog;
6546
+ var _isOneDs;
6547
+ var _onCompleteFuncs;
6548
+ var _disableCredentials;
6549
+ var _fallbackInst;
6550
+ var _disableXhr;
6551
+ var _disableBeacon;
6552
+ var _disableBeaconSync;
6553
+ dynamicProto(SenderPostManager, this, function (_self, _base) {
6554
+ var _sendCredentials = true;
6555
+ _initDefaults();
6556
+ _self.initialize = function (config, diagLog) {
6557
+ _diagLog = diagLog;
6558
+ if (_isInitialized) {
6559
+ _throwInternal(_diagLog, 1 , 28 , "Sender is already initialized");
6560
+ }
6561
+ _self.SetConfig(config);
6562
+ _isInitialized = true;
6563
+ };
6564
+ _self["_getDbgPlgTargets"] = function () {
6565
+ return [_isInitialized, _isOneDs, _disableCredentials, _enableSendPromise];
6566
+ };
6567
+ _self.SetConfig = function (config) {
6568
+ try {
6569
+ _onCompleteFuncs = config.senderOnCompleteCallBack || {};
6570
+ _disableCredentials = !!config.disableCredentials;
6571
+ _isOneDs = !!config.isOneDs;
6572
+ _enableSendPromise = !!config.enableSendPromise;
6573
+ _disableXhr = !!config.disableXhr;
6574
+ _disableBeacon = !!config.disableBeacon;
6575
+ _disableBeaconSync = !!config.disableBeaconSync;
6576
+ _fallbackInst = { sendPOST: _xhrSender };
6577
+ if (_disableCredentials) {
6578
+ var location_1 = getLocation();
6579
+ if (location_1 && location_1.protocol && location_1.protocol[_DYN_TO_LOWER_CASE ]() === "file:") {
6580
+ _sendCredentials = false;
6581
+ }
6582
+ }
6583
+ return true;
6584
+ }
6585
+ catch (e) {
6586
+ }
6587
+ return false;
6588
+ };
6589
+ _self.getSyncFetchPayload = function () {
6590
+ return _syncFetchPayload;
6591
+ };
6592
+ _self.getXhrInst = function (transports, sync) {
6593
+ if (transports && transports[_DYN_LENGTH$1 ]) {
6594
+ return _getSenderInterface(transports, sync);
6595
+ }
6596
+ return null;
6597
+ };
6598
+ _self.getFallbackInst = function () {
6599
+ return _fallbackInst;
6600
+ };
6601
+ _self._doTeardown = function (unloadCtx, unloadState) {
6602
+ _initDefaults();
6603
+ };
6604
+ function _onSuccess(res, onComplete) {
6605
+ _doOnComplete(onComplete, 200, {}, res);
6606
+ }
6607
+ function _onError(message, onComplete) {
6608
+ _throwInternal(_diagLog, 2 , 26 , "Failed to send telemetry.", { message: message });
6609
+ _doOnComplete(onComplete, 400, {});
6610
+ }
6611
+ function _onNoPayloadUrl(onComplete) {
6612
+ _onError("No endpoint url is provided for the batch", onComplete);
6613
+ }
6614
+ function _getSenderInterface(transports, syncSupport) {
6615
+ var transportType = null;
6616
+ var sendPostFunc = null;
6617
+ var lp = 0;
6618
+ while (sendPostFunc == null && lp < transports[_DYN_LENGTH$1 ]) {
6619
+ transportType = transports[lp];
6620
+ if (!_disableXhr && transportType === 1 ) {
6621
+ if (useXDomainRequest()) {
6622
+ sendPostFunc = _xdrSender;
6623
+ }
6624
+ else if (isXhrSupported()) {
6625
+ sendPostFunc = _xhrSender;
6626
+ }
6627
+ }
6628
+ else if (transportType === 2 && isFetchSupported(syncSupport)) {
6629
+ sendPostFunc = _doFetchSender;
6630
+ }
6631
+ else if (transportType === 3 && isBeaconsSupported() && (syncSupport ? !_disableBeaconSync : !_disableBeacon)) {
6632
+ sendPostFunc = _beaconSender;
6633
+ }
6634
+ lp++;
6635
+ }
6636
+ if (sendPostFunc) {
6637
+ return {
6638
+ sendPOST: sendPostFunc
6639
+ };
6640
+ }
6641
+ return null;
6642
+ }
6643
+ function _doOnComplete(oncomplete, status, headers, response) {
6644
+ try {
6645
+ oncomplete && oncomplete(status, headers, response);
6646
+ }
6647
+ catch (e) {
6648
+ }
6649
+ }
6650
+ function _doBeaconSend(payload, oncomplete) {
6651
+ var nav = getNavigator();
6652
+ var url = payload[_DYN_URL_STRING ];
6653
+ if (!url) {
6654
+ _onNoPayloadUrl(oncomplete);
6655
+ return true;
6656
+ }
6657
+ var data = payload[_DYN_DATA$1 ];
6658
+ var plainTextBatch = new Blob([data], { type: "text/plain;charset=UTF-8" });
6659
+ var queued = nav.sendBeacon(url, plainTextBatch);
6660
+ return queued;
6661
+ }
6662
+ function _beaconSender(payload, oncomplete, sync) {
6663
+ var data = payload[_DYN_DATA$1 ];
6664
+ if (data) {
6665
+ if (!_doBeaconSend(payload, oncomplete)) {
6666
+ var onRetry = _onCompleteFuncs && _onCompleteFuncs.beaconOnRetry;
6667
+ if (onRetry && isFunction(onRetry)) {
6668
+ onRetry(payload, oncomplete, _doBeaconSend);
6669
+ }
6670
+ else {
6671
+ _fallbackInst && _fallbackInst.sendPOST(payload, oncomplete, true);
6672
+ _throwInternal(_diagLog, 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
6673
+ }
6674
+ }
6675
+ else {
6676
+ _onSuccess(null, oncomplete);
6677
+ }
6678
+ }
6679
+ return;
6680
+ }
6681
+ function _xhrSender(payload, oncomplete, sync) {
6682
+ var thePromise;
6683
+ var resolveFunc;
6684
+ var rejectFunc;
6685
+ var headers = payload.headers || {};
6686
+ if (!sync && _enableSendPromise) {
6687
+ thePromise = createPromise(function (resolve, reject) {
6688
+ resolveFunc = resolve;
6689
+ rejectFunc = reject;
6690
+ });
6691
+ }
6692
+ var xhr = new XMLHttpRequest();
6693
+ var endPointUrl = payload[_DYN_URL_STRING ];
6694
+ if (!endPointUrl) {
6695
+ _onNoPayloadUrl(oncomplete);
6696
+ resolveFunc && resolveFunc(false);
6697
+ return;
6698
+ }
6699
+ try {
6700
+ xhr[DisabledPropertyName] = true;
6701
+ }
6702
+ catch (e) {
6703
+ }
6704
+ xhr.open("POST", endPointUrl, !sync);
6705
+ xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
6706
+ if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
6707
+ xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
6708
+ }
6709
+ arrForEach(objKeys(headers), function (headerName) {
6710
+ xhr[_DYN_SET_REQUEST_HEADER ](headerName, headers[headerName]);
6711
+ });
6712
+ xhr.onreadystatechange = function () {
6713
+ var response = getResponseText(xhr);
6714
+ var onReadyFunc = _onCompleteFuncs && _onCompleteFuncs.xhrOnComplete;
6715
+ var onReadyFuncExist = onReadyFunc && isFunction(onReadyFunc);
6716
+ if (onReadyFuncExist) {
6717
+ onReadyFunc(xhr, oncomplete, payload);
6718
+ }
6719
+ if (xhr.readyState === 4) {
6720
+ if (!onReadyFuncExist) {
6721
+ _doOnComplete(oncomplete, xhr.status, {}, response);
6722
+ }
6723
+ resolveFunc && resolveFunc(true);
6724
+ }
6725
+ };
6726
+ xhr.onerror = function (event) {
6727
+ _doOnComplete(oncomplete, 400, {}, formatErrorMessageXhr(xhr));
6728
+ rejectFunc && rejectFunc(event);
6729
+ };
6730
+ xhr.ontimeout = function () {
6731
+ _doOnComplete(oncomplete, 500, {}, formatErrorMessageXhr(xhr));
6732
+ resolveFunc && resolveFunc(false);
6733
+ };
6734
+ xhr.send(payload[_DYN_DATA$1 ]);
6735
+ return thePromise;
6736
+ }
6737
+ function _doFetchSender(payload, oncomplete, sync) {
6738
+ var _a;
6739
+ var endPointUrl = payload[_DYN_URL_STRING ];
6740
+ var batch = payload[_DYN_DATA$1 ];
6741
+ var plainTextBatch = new Blob([batch], { type: "application/json" });
6742
+ var thePromise;
6743
+ var resolveFunc;
6744
+ var rejectFunc;
6745
+ var requestHeaders = new Headers();
6746
+ var batchLength = batch[_DYN_LENGTH$1 ];
6747
+ var ignoreResponse = false;
6748
+ var responseHandled = false;
6749
+ var headers = payload.headers || {};
6750
+ if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
6751
+ requestHeaders.append(RequestHeaders[6 ], RequestHeaders[7 ]);
6752
+ }
6753
+ arrForEach(objKeys(headers), function (headerName) {
6754
+ requestHeaders.append(headerName, headers[headerName]);
6755
+ });
6756
+ var init = (_a = {
6757
+ method: "POST",
6758
+ headers: requestHeaders,
6759
+ body: plainTextBatch
6760
+ },
6761
+ _a[DisabledPropertyName] = true
6762
+ ,
6763
+ _a);
6764
+ if (_sendCredentials && _isOneDs) {
6765
+ init.credentials = "include";
6766
+ }
6767
+ if (sync) {
6768
+ init.keepalive = true;
6769
+ ignoreResponse = true;
6770
+ _syncFetchPayload += batchLength;
6771
+ }
6772
+ var request = new Request(endPointUrl, init);
6773
+ try {
6774
+ request[DisabledPropertyName] = true;
6775
+ }
6776
+ catch (e) {
6777
+ }
6778
+ if (!sync && _enableSendPromise) {
6779
+ thePromise = createPromise(function (resolve, reject) {
6780
+ resolveFunc = resolve;
6781
+ rejectFunc = reject;
6782
+ });
6783
+ }
6784
+ if (!endPointUrl) {
6785
+ _onNoPayloadUrl(oncomplete);
6786
+ resolveFunc && resolveFunc(false);
6787
+ return;
6788
+ }
6789
+ try {
6790
+ doAwaitResponse(fetch(request), function (result) {
6791
+ if (sync) {
6792
+ _syncFetchPayload -= batchLength;
6793
+ batchLength = 0;
6794
+ }
6795
+ if (!responseHandled) {
6796
+ responseHandled = true;
6797
+ if (!result.rejected) {
6798
+ var response_1 = result.value;
6799
+ if (!response_1.ok) {
6800
+ _doOnComplete(oncomplete, 400, {}, response_1.statusText);
6801
+ resolveFunc && resolveFunc(false);
6802
+ }
6803
+ else {
6804
+ doAwaitResponse(response_1.text(), function (resp) {
6805
+ var status = response_1.status;
6806
+ var onCompleteFunc = _onCompleteFuncs.fetchOnComplete;
6807
+ if (onCompleteFunc && isFunction(onCompleteFunc)) {
6808
+ onCompleteFunc(response_1, oncomplete, resp.value || STR_EMPTY, payload);
6809
+ }
6810
+ else {
6811
+ _doOnComplete(oncomplete, status, {}, resp.value || STR_EMPTY);
6812
+ }
6813
+ resolveFunc && resolveFunc(true);
6814
+ });
6815
+ }
6816
+ }
6817
+ else {
6818
+ _doOnComplete(oncomplete, 400, {}, result[_DYN_REASON ] && result[_DYN_REASON ][_DYN_MESSAGE ]);
6819
+ rejectFunc && rejectFunc(result[_DYN_REASON ]);
6820
+ }
6821
+ }
6822
+ });
6823
+ }
6824
+ catch (e) {
6825
+ if (!responseHandled) {
6826
+ _doOnComplete(oncomplete, 400, {}, dumpObj(e));
6827
+ rejectFunc && rejectFunc(e);
6828
+ }
6829
+ }
6830
+ if (ignoreResponse && !responseHandled) {
6831
+ responseHandled = true;
6832
+ _doOnComplete(oncomplete, 200, {});
6833
+ resolveFunc && resolveFunc(true);
6834
+ }
6835
+ return thePromise;
6836
+ }
6837
+ function _xdrSender(payload, oncomplete, sync) {
6838
+ var _window = getWindow();
6839
+ var xdr = new XDomainRequest();
6840
+ var data = payload[_DYN_DATA$1 ];
6841
+ xdr.onload = function () {
6842
+ var response = getResponseText(xdr);
6843
+ var onloadFunc = _onCompleteFuncs && _onCompleteFuncs.xdrOnComplete;
6844
+ if (onloadFunc && isFunction(onloadFunc)) {
6845
+ onloadFunc(xdr, oncomplete, payload);
6846
+ }
6847
+ else {
6848
+ _doOnComplete(oncomplete, 200, {}, response);
6849
+ }
6850
+ };
6851
+ xdr.onerror = function () {
6852
+ _doOnComplete(oncomplete, 400, {}, formatErrorMessageXdr(xdr));
6853
+ };
6854
+ xdr.ontimeout = function () {
6855
+ _doOnComplete(oncomplete, 500, {});
6856
+ };
6857
+ xdr.onprogress = function () { };
6858
+ var hostingProtocol = _window && _window[_DYN_LOCATION ] && _window[_DYN_LOCATION ].protocol || "";
6859
+ var endpoint = payload[_DYN_URL_STRING ];
6860
+ if (!endpoint) {
6861
+ _onNoPayloadUrl(oncomplete);
6862
+ return;
6863
+ }
6864
+ if (endpoint.lastIndexOf(hostingProtocol, 0) !== 0) {
6865
+ var msg = "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.";
6866
+ _throwInternal(_diagLog, 2 , 40 , ". " + msg);
6867
+ _onError(msg, oncomplete);
6868
+ return;
6869
+ }
6870
+ var endpointUrl = endpoint.replace(/^(https?:)/, "");
6871
+ xdr.open("POST", endpointUrl);
6872
+ xdr.send(data);
6873
+ }
6874
+ function _initDefaults() {
6875
+ _syncFetchPayload = 0;
6876
+ _isInitialized = false;
6877
+ _enableSendPromise = false;
6878
+ _diagLog = null;
6879
+ _isOneDs = null;
6880
+ _onCompleteFuncs = null;
6881
+ _disableCredentials = null;
6882
+ _fallbackInst = null;
6883
+ _disableXhr = false;
6884
+ _disableBeacon = false;
6885
+ _disableBeaconSync = false;
6886
+ }
6887
+ });
6888
+ }
6889
+ SenderPostManager.__ieDyn=1;
6890
+ return SenderPostManager;
6891
+ }());
6892
+
6460
6893
  function _disableEvents(target, evtNamespace) {
6461
6894
  eventOff(target, null, null, evtNamespace);
6462
6895
  }
@@ -6595,43 +7028,42 @@ var _DYN_EVENTS_LIMIT_IN_MEM = "eventsLimitInMem";
6595
7028
  var _DYN_PUSH = "push";
6596
7029
  var _DYN_EMIT_LINE_DELIMITED_0 = "emitLineDelimitedJson";
6597
7030
  var _DYN_CLEAR = "clear";
6598
- var _DYN_BATCH_PAYLOADS = "batchPayloads";
6599
7031
  var _DYN_CREATE_NEW = "createNew";
6600
7032
  var _DYN_MARK_AS_SENT = "markAsSent";
6601
7033
  var _DYN_CLEAR_SENT = "clearSent";
6602
7034
  var _DYN_BUFFER_OVERRIDE = "bufferOverride";
6603
7035
  var _DYN__BUFFER__KEY = "BUFFER_KEY";
6604
7036
  var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
6605
- var _DYN_CONCAT = "concat";
6606
7037
  var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
6607
- var _DYN_SEND_POST = "sendPOST";
6608
7038
  var _DYN_TRIGGER_SEND = "triggerSend";
6609
7039
  var _DYN_DIAG_LOG = "diagLog";
7040
+ var _DYN_INITIALIZE = "initialize";
6610
7041
  var _DYN__SENDER = "_sender";
6611
7042
  var _DYN_CUSTOM_HEADERS = "customHeaders";
6612
7043
  var _DYN_MAX_BATCH_SIZE_IN_BY1 = "maxBatchSizeInBytes";
6613
7044
  var _DYN_ONUNLOAD_DISABLE_BEA2 = "onunloadDisableBeacon";
6614
7045
  var _DYN_IS_BEACON_API_DISABL3 = "isBeaconApiDisabled";
6615
7046
  var _DYN_ALWAYS_USE_XHR_OVERR4 = "alwaysUseXhrOverride";
7047
+ var _DYN_DISABLE_XHR = "disableXhr";
6616
7048
  var _DYN_ENABLE_SESSION_STORA5 = "enableSessionStorageBuffer";
6617
7049
  var _DYN__BUFFER = "_buffer";
6618
7050
  var _DYN_ONUNLOAD_DISABLE_FET6 = "onunloadDisableFetch";
6619
7051
  var _DYN_DISABLE_SEND_BEACON_7 = "disableSendBeaconSplit";
6620
7052
  var _DYN_INSTRUMENTATION_KEY$1 = "instrumentationKey";
7053
+ var _DYN_ENABLE_SEND_PROMISE = "enableSendPromise";
7054
+ var _DYN_GET_XHR_INST = "getXhrInst";
6621
7055
  var _DYN_UNLOAD_TRANSPORTS = "unloadTransports";
6622
7056
  var _DYN_CONVERT_UNDEFINED = "convertUndefined";
6623
7057
  var _DYN_MAX_BATCH_INTERVAL = "maxBatchInterval";
6624
7058
  var _DYN_SERIALIZE = "serialize";
6625
- var _DYN__XHR_READY_STATE_CHA8 = "_xhrReadyStateChange";
6626
7059
  var _DYN__ON_ERROR = "_onError";
6627
7060
  var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
6628
7061
  var _DYN__ON_SUCCESS = "_onSuccess";
6629
7062
  var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
6630
7063
  var _DYN_ITEMS_RECEIVED = "itemsReceived";
7064
+ var _DYN_ORI_PAYLOAD = "oriPayload";
6631
7065
  var _DYN_BASE_TYPE = "baseType";
6632
7066
  var _DYN_SAMPLE_RATE = "sampleRate";
6633
- var _DYN_ORI_PAYLOAD = "oriPayload";
6634
- var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
6635
7067
  var _DYN_EVENTS_SEND_REQUEST = "eventsSendRequest";
6636
7068
  var _DYN_GET_SAMPLING_SCORE = "getSamplingScore";
6637
7069
  var _DYN_GET_HASH_CODE_SCORE = "getHashCodeScore";
@@ -6745,7 +7177,7 @@ function EnvelopeCreatorInit(logger, telemetryItem) {
6745
7177
  }
6746
7178
  }
6747
7179
  var EnvelopeCreator = {
6748
- Version: '3.1.1-nightly3.2402-20'
7180
+ Version: '3.1.1-nightly3.2403-02'
6749
7181
  };
6750
7182
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
6751
7183
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -6936,7 +7368,7 @@ var BaseSendBuffer = /** @class */ (function () {
6936
7368
  _self.getItems = function () {
6937
7369
  return _buffer.slice(0);
6938
7370
  };
6939
- _self[_DYN_BATCH_PAYLOADS ] = function (payload) {
7371
+ _self.batchPayloads = function (payload) {
6940
7372
  if (payload && payload[_DYN_LENGTH ] > 0) {
6941
7373
  var batch = config[_DYN_EMIT_LINE_DELIMITED_0 ] ?
6942
7374
  payload.join("\n") :
@@ -6986,7 +7418,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
6986
7418
  dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {
6987
7419
  var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ]);
6988
7420
  var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
6989
- var buffer = _self._set(bufferItems[_DYN_CONCAT ](notDeliveredItems));
7421
+ var buffer = _self._set(bufferItems.concat(notDeliveredItems));
6990
7422
  if (buffer[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
6991
7423
  buffer[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
6992
7424
  }
@@ -7013,7 +7445,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
7013
7445
  _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], _self._set(_removePayloadsFromBuffer(payload, _self[_DYN__GET ]())));
7014
7446
  var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
7015
7447
  if (sentElements instanceof Array && payload instanceof Array) {
7016
- sentElements = sentElements[_DYN_CONCAT ](payload);
7448
+ sentElements = sentElements.concat(payload);
7017
7449
  if (sentElements[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
7018
7450
  _throwInternal(logger, 1 , 67 , "Sent buffer reached its maximum size: " + sentElements[_DYN_LENGTH ], true);
7019
7451
  sentElements[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
@@ -7246,7 +7678,7 @@ var HashCodeScoreGenerator = /** @class */ (function () {
7246
7678
  return 0;
7247
7679
  }
7248
7680
  while (input[_DYN_LENGTH ] < MIN_INPUT_LENGTH) {
7249
- input = input[_DYN_CONCAT ](input);
7681
+ input = input.concat(input);
7250
7682
  }
7251
7683
  var hash = 5381;
7252
7684
  for (var i = 0; i < input[_DYN_LENGTH ]; ++i) {
@@ -7326,18 +7758,7 @@ function _getResponseText(xhr) {
7326
7758
  return null;
7327
7759
  }
7328
7760
  function isOverrideFn(httpXHROverride) {
7329
- return httpXHROverride && httpXHROverride[_DYN_SEND_POST ];
7330
- }
7331
- function _prependTransports(theTransports, newTransports) {
7332
- if (newTransports) {
7333
- if (isNumber(newTransports)) {
7334
- theTransports = [newTransports][_DYN_CONCAT ](theTransports);
7335
- }
7336
- else if (isArray(newTransports)) {
7337
- theTransports = newTransports[_DYN_CONCAT ](theTransports);
7338
- }
7339
- }
7340
- return theTransports;
7761
+ return httpXHROverride && httpXHROverride.sendPOST;
7341
7762
  }
7342
7763
  var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
7343
7764
  endpointUrl: cfgDfValidate(isTruthy, DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH)
@@ -7350,7 +7771,7 @@ var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
7350
7771
  _a.isRetryDisabled = cfgDfBoolean(),
7351
7772
  _a[_DYN_IS_BEACON_API_DISABL3 ] = cfgDfBoolean(true),
7352
7773
  _a[_DYN_DISABLE_SEND_BEACON_7 ] = cfgDfBoolean(true),
7353
- _a.disableXhr = cfgDfBoolean(),
7774
+ _a[_DYN_DISABLE_XHR ] = cfgDfBoolean(),
7354
7775
  _a[_DYN_ONUNLOAD_DISABLE_FET6 ] = cfgDfBoolean(),
7355
7776
  _a[_DYN_ONUNLOAD_DISABLE_BEA2 ] = cfgDfBoolean(),
7356
7777
  _a[_DYN_INSTRUMENTATION_KEY$1 ] = UNDEFINED_VALUE,
@@ -7415,6 +7836,7 @@ var Sender = /** @class */ (function (_super) {
7415
7836
  var _xhrSend;
7416
7837
  var _fallbackSend;
7417
7838
  var _disableBeaconSplit;
7839
+ var _sendPostMgr;
7418
7840
  dynamicProto(Sender, _this, function (_self, _base) {
7419
7841
  _initDefaults();
7420
7842
  _self.pause = function () {
@@ -7459,11 +7881,11 @@ var Sender = /** @class */ (function (_super) {
7459
7881
  _self.addHeader = function (name, value) {
7460
7882
  _headers[name] = value;
7461
7883
  };
7462
- _self.initialize = function (config, core, extensions, pluginChain) {
7884
+ _self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
7463
7885
  if (_self.isInitialized()) {
7464
7886
  _throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 28 , "Sender is already initialized");
7465
7887
  }
7466
- _base.initialize(config, core, extensions, pluginChain);
7888
+ _base[_DYN_INITIALIZE ](config, core, extensions, pluginChain);
7467
7889
  var identifier = _self.identifier;
7468
7890
  _serializer = new Serializer(core.logger);
7469
7891
  _consecutiveErrors = 0;
@@ -7498,7 +7920,7 @@ var Sender = /** @class */ (function (_super) {
7498
7920
  _beaconOnUnloadSupported = senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ] === false && isBeaconsSupported();
7499
7921
  _beaconNormalSupported = senderConfig[_DYN_IS_BEACON_API_DISABL3 ] === false && isBeaconsSupported();
7500
7922
  _alwaysUseCustomSend = senderConfig[_DYN_ALWAYS_USE_XHR_OVERR4 ];
7501
- _disableXhr = !!senderConfig.disableXhr;
7923
+ _disableXhr = !!senderConfig[_DYN_DISABLE_XHR ];
7502
7924
  var bufferOverride = senderConfig[_DYN_BUFFER_OVERRIDE ];
7503
7925
  var canUseSessionStorage = !!senderConfig[_DYN_ENABLE_SESSION_STORA5 ] &&
7504
7926
  (!!bufferOverride || utlCanUseSessionStorage());
@@ -7540,13 +7962,21 @@ var Sender = /** @class */ (function (_super) {
7540
7962
  else {
7541
7963
  _customHeaders = null;
7542
7964
  }
7543
- _enableSendPromise = senderConfig.enableSendPromise;
7965
+ _enableSendPromise = senderConfig[_DYN_ENABLE_SEND_PROMISE ];
7966
+ var sendPostConfig = _getSendPostMgrConfig();
7967
+ if (!_sendPostMgr) {
7968
+ _sendPostMgr = new SenderPostManager();
7969
+ _sendPostMgr[_DYN_INITIALIZE ](sendPostConfig, diagLog);
7970
+ }
7971
+ else {
7972
+ _sendPostMgr.SetConfig(sendPostConfig);
7973
+ }
7544
7974
  var customInterface = senderConfig.httpXHROverride;
7545
7975
  var httpInterface = null;
7546
7976
  var syncInterface = null;
7547
- var theTransports = _prependTransports([3 , 1 , 2 ], senderConfig.transports);
7548
- httpInterface = _getSenderInterface(theTransports, false);
7549
- var xhrInterface = { sendPOST: _xhrSender };
7977
+ var theTransports = prependTransports([3 , 1 , 2 ], senderConfig.transports);
7978
+ httpInterface = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ](theTransports, false);
7979
+ var xhrInterface = _sendPostMgr && _sendPostMgr.getFallbackInst();
7550
7980
  _xhrSend = function (payload, isAsync) {
7551
7981
  return _doSend(xhrInterface, payload, isAsync);
7552
7982
  };
@@ -7560,11 +7990,11 @@ var Sender = /** @class */ (function (_super) {
7560
7990
  if (_fetchKeepAlive) {
7561
7991
  _syncUnloadSender = _fetchKeepAliveSender;
7562
7992
  }
7563
- var syncTransports = _prependTransports([3 , 1 ], senderConfig[_DYN_UNLOAD_TRANSPORTS ]);
7993
+ var syncTransports = prependTransports([3 , 1 ], senderConfig[_DYN_UNLOAD_TRANSPORTS ]);
7564
7994
  if (!_fetchKeepAlive) {
7565
7995
  syncTransports = syncTransports.filter(function (transport) { return transport !== 2 ; });
7566
7996
  }
7567
- syncInterface = _getSenderInterface(syncTransports, true);
7997
+ syncInterface = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ](syncTransports, true);
7568
7998
  syncInterface = _alwaysUseCustomSend ? customInterface : (syncInterface || customInterface);
7569
7999
  if ((_alwaysUseCustomSend || senderConfig[_DYN_UNLOAD_TRANSPORTS ] || !_syncUnloadSender) && syncInterface) {
7570
8000
  _syncUnloadSender = function (payload, isAsync) {
@@ -7606,10 +8036,8 @@ var Sender = /** @class */ (function (_super) {
7606
8036
  _self.isCompletelyIdle = function () {
7607
8037
  return !_paused && _syncFetchPayload === 0 && _self._buffer[_DYN_COUNT ]() === 0;
7608
8038
  };
7609
- _self[_DYN__XHR_READY_STATE_CHA8 ] = function (xhr, payload, countOfItemsInPayload) {
7610
- if (xhr.readyState === 4) {
7611
- _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, _formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
7612
- }
8039
+ _self._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {
8040
+ return _xhrReadyStateChange(xhr, payload, countOfItemsInPayload);
7613
8041
  };
7614
8042
  _self[_DYN_TRIGGER_SEND ] = function (async, forcedSender, sendReason) {
7615
8043
  if (async === void 0) { async = true; }
@@ -7685,7 +8113,7 @@ var Sender = /** @class */ (function (_super) {
7685
8113
  _self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
7686
8114
  }
7687
8115
  if (failed[_DYN_LENGTH ] > 0) {
7688
- _self[_DYN__ON_ERROR ](failed, _formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
8116
+ _self[_DYN__ON_ERROR ](failed, formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
7689
8117
  }
7690
8118
  if (retry[_DYN_LENGTH ] > 0) {
7691
8119
  _resendPayload(retry);
@@ -7698,22 +8126,89 @@ var Sender = /** @class */ (function (_super) {
7698
8126
  _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
7699
8127
  };
7700
8128
  _self._xdrOnLoad = function (xdr, payload) {
8129
+ return _xdrOnLoad(xdr, payload);
8130
+ };
8131
+ function _xdrOnLoad(xdr, payload) {
7701
8132
  var responseText = _getResponseText(xdr);
7702
8133
  if (xdr && (responseText + "" === "200" || responseText === "")) {
7703
8134
  _consecutiveErrors = 0;
7704
8135
  _self[_DYN__ON_SUCCESS ](payload, 0);
7705
8136
  }
7706
8137
  else {
7707
- var results = _parseResponse(responseText);
8138
+ var results = parseResponse(responseText);
7708
8139
  if (results && results.itemsReceived && results.itemsReceived > results[_DYN_ITEMS_ACCEPTED ]
7709
8140
  && !_isRetryDisabled) {
7710
8141
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, results);
7711
8142
  }
7712
8143
  else {
7713
- _self[_DYN__ON_ERROR ](payload, _formatErrorMessageXdr(xdr));
8144
+ _self[_DYN__ON_ERROR ](payload, formatErrorMessageXdr(xdr));
7714
8145
  }
7715
8146
  }
7716
- };
8147
+ }
8148
+ function _getSendPostMgrConfig() {
8149
+ var _a;
8150
+ try {
8151
+ var onCompleteFuncs = {
8152
+ xdrOnComplete: function (xdr, oncomplete, payload) {
8153
+ var data = _getPayloadArr(payload);
8154
+ if (!data) {
8155
+ return;
8156
+ }
8157
+ return _xdrOnLoad(xdr, data);
8158
+ },
8159
+ fetchOnComplete: function (response, onComplete, resValue, payload) {
8160
+ var data = _getPayloadArr(payload);
8161
+ if (!data) {
8162
+ return;
8163
+ }
8164
+ return _checkResponsStatus(response.status, data, response.url, data[_DYN_LENGTH ], response.statusText, resValue || "");
8165
+ },
8166
+ xhrOnComplete: function (request, oncomplete, payload) {
8167
+ var data = _getPayloadArr(payload);
8168
+ if (!data) {
8169
+ return;
8170
+ }
8171
+ return _xhrReadyStateChange(request, data, data[_DYN_LENGTH ]);
8172
+ },
8173
+ beaconOnRetry: function (data, onComplete, canSend) {
8174
+ return _onBeaconRetry(data, onComplete, canSend);
8175
+ }
8176
+ };
8177
+ var config = (_a = {},
8178
+ _a[_DYN_ENABLE_SEND_PROMISE ] = _enableSendPromise,
8179
+ _a.isOneDs = false,
8180
+ _a.disableCredentials = false,
8181
+ _a[_DYN_DISABLE_XHR ] = _disableXhr,
8182
+ _a.disableBeacon = !_beaconNormalSupported,
8183
+ _a.disableBeaconSync = !_beaconOnUnloadSupported,
8184
+ _a.senderOnCompleteCallBack = onCompleteFuncs,
8185
+ _a);
8186
+ return config;
8187
+ }
8188
+ catch (e) {
8189
+ }
8190
+ return null;
8191
+ }
8192
+ function _xhrReadyStateChange(xhr, payload, countOfItemsInPayload) {
8193
+ if (xhr.readyState === 4) {
8194
+ _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
8195
+ }
8196
+ }
8197
+ function _getPayloadArr(payload) {
8198
+ try {
8199
+ if (payload) {
8200
+ var internalPayload = payload;
8201
+ var arr = internalPayload[_DYN_ORI_PAYLOAD ];
8202
+ if (arr && arr[_DYN_LENGTH ]) {
8203
+ return arr;
8204
+ }
8205
+ return null;
8206
+ }
8207
+ }
8208
+ catch (e) {
8209
+ }
8210
+ return null;
8211
+ }
7717
8212
  function _validate(telemetryItem, diagLogger) {
7718
8213
  if (_disableTelemetry) {
7719
8214
  return false;
@@ -7809,36 +8304,6 @@ var Sender = /** @class */ (function (_super) {
7809
8304
  function _isSampledIn(envelope) {
7810
8305
  return _self._sample.isSampledIn(envelope);
7811
8306
  }
7812
- function _getSenderInterface(transports, syncSupport) {
7813
- var _a;
7814
- var transportType = null;
7815
- var sendPostFunc = null;
7816
- var lp = 0;
7817
- while (sendPostFunc == null && lp < transports[_DYN_LENGTH ]) {
7818
- transportType = transports[lp];
7819
- if (!_disableXhr && transportType === 1 ) {
7820
- if (useXDomainRequest()) {
7821
- sendPostFunc = _xdrSender;
7822
- }
7823
- else if (isXhrSupported()) {
7824
- sendPostFunc = _xhrSender;
7825
- }
7826
- }
7827
- else if (transportType === 2 && isFetchSupported(syncSupport)) {
7828
- sendPostFunc = _fetchSender;
7829
- }
7830
- else if (transportType === 3 && (syncSupport ? _beaconOnUnloadSupported : _beaconNormalSupported)) {
7831
- sendPostFunc = _beaconSender;
7832
- }
7833
- lp++;
7834
- }
7835
- if (sendPostFunc) {
7836
- return _a = {},
7837
- _a[_DYN_SEND_POST ] = sendPostFunc,
7838
- _a;
7839
- }
7840
- return null;
7841
- }
7842
8307
  function _getOnComplete(payload, status, headers, response) {
7843
8308
  if (status === 200 && payload) {
7844
8309
  _self._onSuccess(payload, payload[_DYN_LENGTH ]);
@@ -7853,7 +8318,7 @@ var Sender = /** @class */ (function (_super) {
7853
8318
  return _getOnComplete(payload, status, headers, response);
7854
8319
  };
7855
8320
  var payloadData = _getPayload(payload);
7856
- var sendPostFunc = sendInterface && sendInterface[_DYN_SEND_POST ];
8321
+ var sendPostFunc = sendInterface && sendInterface.sendPOST;
7857
8322
  if (sendPostFunc && payloadData) {
7858
8323
  if (markAsSent) {
7859
8324
  _self._buffer[_DYN_MARK_AS_SENT ](payload);
@@ -7865,7 +8330,7 @@ var Sender = /** @class */ (function (_super) {
7865
8330
  function _getPayload(payload) {
7866
8331
  var _a;
7867
8332
  if (isArray(payload) && payload[_DYN_LENGTH ] > 0) {
7868
- var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
8333
+ var batch = _self[_DYN__BUFFER ].batchPayloads(payload);
7869
8334
  var payloadData = (_a = {},
7870
8335
  _a[_DYN_DATA ] = batch,
7871
8336
  _a.urlString = _endpointUrl,
@@ -7878,9 +8343,6 @@ var Sender = /** @class */ (function (_super) {
7878
8343
  }
7879
8344
  return null;
7880
8345
  }
7881
- function _fetchSender(payload, oncomplete, sync) {
7882
- return _doFetchSender(payload, oncomplete, false);
7883
- }
7884
8346
  function _checkMaxSize(incomingPayload) {
7885
8347
  var incomingSize = incomingPayload ? incomingPayload[_DYN_LENGTH ] : 0;
7886
8348
  if ((_self[_DYN__BUFFER ].size() + incomingSize) > _maxBatchSizeInBytes) {
@@ -7894,7 +8356,7 @@ var Sender = /** @class */ (function (_super) {
7894
8356
  function _checkResponsStatus(status, payload, responseUrl, countOfItemsInPayload, errorMessage, res) {
7895
8357
  var response = null;
7896
8358
  if (!_self._appId) {
7897
- response = _parseResponse(res);
8359
+ response = parseResponse(res);
7898
8360
  if (response && response.appId) {
7899
8361
  _self._appId = response.appId;
7900
8362
  }
@@ -7926,7 +8388,7 @@ var Sender = /** @class */ (function (_super) {
7926
8388
  _checkAndUpdateEndPointUrl(responseUrl);
7927
8389
  if (status === 206) {
7928
8390
  if (!response) {
7929
- response = _parseResponse(res);
8391
+ response = parseResponse(res);
7930
8392
  }
7931
8393
  if (response && !_isRetryDisabled) {
7932
8394
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, response);
@@ -7954,223 +8416,61 @@ var Sender = /** @class */ (function (_super) {
7954
8416
  }
7955
8417
  return false;
7956
8418
  }
7957
- function _doOnComplete(oncomplete, status, headers, response) {
7958
- try {
7959
- oncomplete(status, headers, response);
7960
- }
7961
- catch (e) {
7962
- }
7963
- }
7964
8419
  function _doUnloadSend(payload, isAsync) {
7965
8420
  if (_syncUnloadSender) {
7966
8421
  _syncUnloadSender(payload, false);
7967
8422
  }
7968
8423
  else {
7969
- var payloadData = _getPayload(payload);
7970
- _self._buffer[_DYN_MARK_AS_SENT ](payload);
7971
- _beaconSender(payloadData);
7972
- }
7973
- }
7974
- function _doBeaconSend(payload, oncomplete) {
7975
- var nav = getNavigator();
7976
- var url = _endpointUrl;
7977
- var buffer = _self[_DYN__BUFFER ];
7978
- var batch = buffer[_DYN_BATCH_PAYLOADS ](payload);
7979
- var plainTextBatch = new Blob([batch], { type: "text/plain;charset=UTF-8" });
7980
- var queued = nav.sendBeacon(url, plainTextBatch);
7981
- if (queued) {
7982
- _self._onSuccess(payload, payload[_DYN_LENGTH ]);
8424
+ var beaconInst = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ]([3 ], true);
8425
+ return _doSend(beaconInst, payload, isAsync);
7983
8426
  }
7984
- return queued;
7985
8427
  }
7986
- function _beaconSender(payload, oncomplete, sync) {
8428
+ function _onBeaconRetry(payload, onComplete, canSend) {
7987
8429
  var internalPayload = payload;
7988
8430
  var data = internalPayload && internalPayload[_DYN_ORI_PAYLOAD ];
7989
- if (isArray(data) && data[_DYN_LENGTH ] > 0) {
7990
- if (!_doBeaconSend(data)) {
7991
- if (!_disableBeaconSplit) {
7992
- var droppedPayload = [];
7993
- for (var lp = 0; lp < data[_DYN_LENGTH ]; lp++) {
7994
- var thePayload = data[lp];
7995
- if (!_doBeaconSend([thePayload])) {
7996
- droppedPayload[_DYN_PUSH ](thePayload);
7997
- }
7998
- }
7999
- if (droppedPayload[_DYN_LENGTH ] > 0) {
8000
- _fallbackSend && _fallbackSend(droppedPayload, true);
8001
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
8002
- }
8431
+ if (!_disableBeaconSplit) {
8432
+ var droppedPayload = [];
8433
+ for (var lp = 0; lp < data[_DYN_LENGTH ]; lp++) {
8434
+ var thePayload = data[lp];
8435
+ var arr = [thePayload];
8436
+ var item = _getPayload(arr);
8437
+ if (!canSend(item, onComplete)) {
8438
+ droppedPayload[_DYN_PUSH ](thePayload);
8003
8439
  }
8004
8440
  else {
8005
- _fallbackSend && _fallbackSend(data, true);
8006
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
8441
+ _self._onSuccess(arr, arr[_DYN_LENGTH ]);
8007
8442
  }
8008
8443
  }
8009
- }
8010
- }
8011
- function _xhrSender(payload, oncomplete, sync) {
8012
- var internalPayload = payload;
8013
- var thePromise;
8014
- var resolveFunc;
8015
- var rejectFunc;
8016
- var xhr = new XMLHttpRequest();
8017
- var endPointUrl = _endpointUrl;
8018
- try {
8019
- xhr[DisabledPropertyName] = true;
8020
- }
8021
- catch (e) {
8022
- }
8023
- xhr.open("POST", endPointUrl, !sync);
8024
- xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
8025
- if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
8026
- xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
8027
- }
8028
- arrForEach(objKeys(_headers), function (headerName) {
8029
- xhr[_DYN_SET_REQUEST_HEADER ](headerName, _headers[headerName]);
8030
- });
8031
- xhr.onreadystatechange = function () {
8032
- var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
8033
- _self._xhrReadyStateChange(xhr, oriPayload, oriPayload[_DYN_LENGTH ]);
8034
- if (xhr.readyState === 4) {
8035
- resolveFunc && resolveFunc(true);
8444
+ if (droppedPayload[_DYN_LENGTH ] > 0) {
8445
+ _fallbackSend && _fallbackSend(droppedPayload, true);
8446
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
8036
8447
  }
8037
- };
8038
- xhr.onerror = function (event) {
8039
- _doOnComplete(oncomplete, 400, {}, _formatErrorMessageXhr(xhr));
8040
- rejectFunc && rejectFunc(event);
8041
- };
8042
- if (!sync && _enableSendPromise) {
8043
- thePromise = createPromise(function (resolve, reject) {
8044
- resolveFunc = resolve;
8045
- rejectFunc = reject;
8046
- });
8047
8448
  }
8048
- xhr.send(payload[_DYN_DATA ]);
8049
- return thePromise;
8449
+ else {
8450
+ _fallbackSend && _fallbackSend(data, true);
8451
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
8452
+ }
8050
8453
  }
8051
8454
  function _fetchKeepAliveSender(payload, isAsync) {
8052
- var onComplete = function (status, headers, response) {
8053
- return _getOnComplete(payload, status, headers, response);
8054
- };
8455
+ var transport = null;
8055
8456
  if (isArray(payload)) {
8056
8457
  var payloadSize = payload[_DYN_LENGTH ];
8057
8458
  for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
8058
8459
  payloadSize += payload[lp][_DYN_LENGTH ];
8059
8460
  }
8060
- var payloadData = _getPayload(payload);
8061
- _self._buffer[_DYN_MARK_AS_SENT ](payload);
8062
- if ((_syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
8063
- _doFetchSender(payloadData, onComplete, true);
8461
+ var syncFetchPayload = _sendPostMgr.getSyncFetchPayload();
8462
+ if ((syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
8463
+ transport = 2 ;
8064
8464
  }
8065
8465
  else if (isBeaconsSupported()) {
8066
- _beaconSender(payloadData);
8466
+ transport = 3 ;
8067
8467
  }
8068
8468
  else {
8069
- _fallbackSend && _fallbackSend(payload, true);
8469
+ transport = 1 ;
8070
8470
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with xhrSender.");
8071
8471
  }
8072
- }
8073
- }
8074
- function _doFetchSender(payload, oncomplete, sync) {
8075
- var _a;
8076
- var endPointUrl = _endpointUrl;
8077
- var internalPayload = payload;
8078
- var batch = internalPayload[_DYN_DATA ];
8079
- var plainTextBatch = new Blob([batch], { type: "application/json" });
8080
- var thePromise;
8081
- var resolveFunc;
8082
- var rejectFunc;
8083
- var requestHeaders = new Headers();
8084
- var batchLength = batch[_DYN_LENGTH ];
8085
- var ignoreResponse = false;
8086
- var responseHandled = false;
8087
- if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
8088
- requestHeaders.append(RequestHeaders[6 ], RequestHeaders[7 ]);
8089
- }
8090
- arrForEach(objKeys(_headers), function (headerName) {
8091
- requestHeaders.append(headerName, _headers[headerName]);
8092
- });
8093
- var init = (_a = {
8094
- method: "POST",
8095
- headers: requestHeaders,
8096
- body: plainTextBatch
8097
- },
8098
- _a[DisabledPropertyName] = true
8099
- ,
8100
- _a);
8101
- if (sync) {
8102
- init.keepalive = true;
8103
- ignoreResponse = true;
8104
- _syncFetchPayload += batchLength;
8105
- }
8106
- var request = new Request(endPointUrl, init);
8107
- try {
8108
- request[DisabledPropertyName] = true;
8109
- }
8110
- catch (e) {
8111
- }
8112
- if (!sync && _enableSendPromise) {
8113
- thePromise = createPromise(function (resolve, reject) {
8114
- resolveFunc = resolve;
8115
- rejectFunc = reject;
8116
- });
8117
- }
8118
- try {
8119
- doAwaitResponse(fetch(request), function (result) {
8120
- if (sync) {
8121
- _syncFetchPayload -= batchLength;
8122
- batchLength = 0;
8123
- }
8124
- if (!responseHandled) {
8125
- responseHandled = true;
8126
- if (!result.rejected) {
8127
- var response_1 = result.value;
8128
- if (!response_1.ok) {
8129
- _doOnComplete(oncomplete, 400, {}, response_1.statusText);
8130
- resolveFunc && resolveFunc(false);
8131
- }
8132
- else {
8133
- doAwaitResponse(response_1.text(), function (resp) {
8134
- var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
8135
- _checkResponsStatus(response_1.status, oriPayload, response_1.url, oriPayload[_DYN_LENGTH ], response_1.statusText, resp.value || "");
8136
- resolveFunc && resolveFunc(true);
8137
- });
8138
- }
8139
- }
8140
- else {
8141
- _doOnComplete(oncomplete, 400, {}, result.reason && result.reason.message);
8142
- rejectFunc && rejectFunc(result.reason);
8143
- }
8144
- }
8145
- });
8146
- }
8147
- catch (e) {
8148
- if (!responseHandled) {
8149
- _doOnComplete(oncomplete, 400, {}, dumpObj(e));
8150
- rejectFunc && rejectFunc(e);
8151
- }
8152
- }
8153
- if (ignoreResponse && !responseHandled) {
8154
- responseHandled = true;
8155
- _doOnComplete(oncomplete, 200, {});
8156
- resolveFunc && resolveFunc(true);
8157
- }
8158
- return thePromise;
8159
- }
8160
- function _parseResponse(response) {
8161
- try {
8162
- if (response && response !== "") {
8163
- var result = getJSON().parse(response);
8164
- if (result && result.itemsReceived && result.itemsReceived >= result[_DYN_ITEMS_ACCEPTED ] &&
8165
- result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH ]) {
8166
- return result;
8167
- }
8168
- }
8169
- }
8170
- catch (e) {
8171
- _throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
8172
- response: response
8173
- });
8472
+ var inst = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ]([transport], true);
8473
+ return _doSend(inst, payload, isAsync);
8174
8474
  }
8175
8475
  return null;
8176
8476
  }
@@ -8229,41 +8529,6 @@ var Sender = /** @class */ (function (_super) {
8229
8529
  || statusCode === 503
8230
8530
  || statusCode === 504;
8231
8531
  }
8232
- function _formatErrorMessageXhr(xhr, message) {
8233
- if (xhr) {
8234
- return "XMLHttpRequest,Status:" + xhr.status + ",Response:" + _getResponseText(xhr) || xhr.response || "";
8235
- }
8236
- return message;
8237
- }
8238
- function _xdrSender(payload, oncomplete, sync) {
8239
- var internalPayload = payload;
8240
- var _window = getWindow();
8241
- var xdr = new XDomainRequest();
8242
- var data = internalPayload[_DYN_DATA ];
8243
- xdr.onload = function () {
8244
- var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
8245
- _self._xdrOnLoad(xdr, oriPayload);
8246
- };
8247
- xdr.onerror = function () {
8248
- _doOnComplete(oncomplete, 400, {}, _formatErrorMessageXdr(xdr));
8249
- };
8250
- var hostingProtocol = _window && _window.location && _window.location.protocol || "";
8251
- if (_endpointUrl.lastIndexOf(hostingProtocol, 0) !== 0) {
8252
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " +
8253
- "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.");
8254
- _self._buffer[_DYN_CLEAR ]();
8255
- return;
8256
- }
8257
- var endpointUrl = _endpointUrl.replace(/^(https?:)/, "");
8258
- xdr.open("POST", endpointUrl);
8259
- xdr.send(data);
8260
- }
8261
- function _formatErrorMessageXdr(xdr, message) {
8262
- if (xdr) {
8263
- return "XDomainRequest,Response:" + _getResponseText(xdr) || "";
8264
- }
8265
- return message;
8266
- }
8267
8532
  function _getNotifyMgr() {
8268
8533
  var func = "getNotifyMgr";
8269
8534
  if (_self.core[func]) {
@@ -8324,6 +8589,7 @@ var Sender = /** @class */ (function (_super) {
8324
8589
  _disableBeaconSplit = false;
8325
8590
  _xhrSend = null;
8326
8591
  _fallbackSend = null;
8592
+ _sendPostMgr = null;
8327
8593
  objDefine(_self, "_senderConfig", {
8328
8594
  g: function () {
8329
8595
  return objExtend({}, defaultAppInsightsChannelConfig);
@@ -8349,6 +8615,8 @@ var Sender = /** @class */ (function (_super) {
8349
8615
 
8350
8616
  var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
8351
8617
  var _DYN_CONNECTION_STRING = "connectionString";
8618
+ var _DYN_ENDPOINT_URL = "endpointUrl";
8619
+ var _DYN_USER_OVERRIDE_ENDPOI0 = "userOverrideEndpointUrl";
8352
8620
 
8353
8621
  var defaultConfigValues = {
8354
8622
  diagnosticLogInterval: cfgDfValidate(_chkDiagLevel, 10000)
@@ -8389,9 +8657,10 @@ var ApplicationInsights = /** @class */ (function () {
8389
8657
  if (_config[_DYN_CONNECTION_STRING ]) {
8390
8658
  var cs = parseConnectionString(_config[_DYN_CONNECTION_STRING ]);
8391
8659
  var ingest = cs.ingestionendpoint;
8392
- _config.endpointUrl = ingest ? (ingest + DEFAULT_BREEZE_PATH) : _config.endpointUrl;
8660
+ _config[_DYN_ENDPOINT_URL ] = _config[_DYN_USER_OVERRIDE_ENDPOI0 ] ? _config[_DYN_USER_OVERRIDE_ENDPOI0 ] : (ingest + DEFAULT_BREEZE_PATH);
8393
8661
  _config[_DYN_INSTRUMENTATION_KEY ] = cs.instrumentationkey || _config[_DYN_INSTRUMENTATION_KEY ];
8394
8662
  }
8663
+ _config[_DYN_ENDPOINT_URL ] = _config[_DYN_USER_OVERRIDE_ENDPOI0 ] ? _config[_DYN_USER_OVERRIDE_ENDPOI0 ] : _config[_DYN_ENDPOINT_URL ];
8395
8664
  }));
8396
8665
  core.initialize(_config, [new Sender()]);
8397
8666
  }
@@ -8418,4 +8687,4 @@ exports.proxyFunctions = proxyFunctions;
8418
8687
  exports.throwError = throwError;
8419
8688
 
8420
8689
  }));
8421
- //# sourceMappingURL=aib.3.1.1-nightly3.2402-20.gbl.js.map
8690
+ //# sourceMappingURL=aib.3.1.1-nightly3.2403-02.gbl.js.map