@microsoft/applicationinsights-web-basic 3.1.1-nightly3.2403-01 → 3.1.1-nightly3.2403-03

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/browser/es5/{aib.3.1.1-nightly3.2403-01.cjs.js → aib.3.1.1-nightly3.2403-03.cjs.js} +592 -348
  2. package/browser/es5/aib.3.1.1-nightly3.2403-03.cjs.js.map +1 -0
  3. package/browser/es5/aib.3.1.1-nightly3.2403-03.cjs.min.js +6 -0
  4. package/browser/es5/aib.3.1.1-nightly3.2403-03.cjs.min.js.map +1 -0
  5. package/browser/es5/{aib.3.1.1-nightly3.2403-01.gbl.js → aib.3.1.1-nightly3.2403-03.gbl.js} +594 -350
  6. package/browser/es5/aib.3.1.1-nightly3.2403-03.gbl.js.map +1 -0
  7. package/browser/es5/aib.3.1.1-nightly3.2403-03.gbl.min.js +6 -0
  8. package/browser/es5/aib.3.1.1-nightly3.2403-03.gbl.min.js.map +1 -0
  9. package/browser/es5/aib.3.1.1-nightly3.2403-03.integrity.json +66 -0
  10. package/browser/es5/{aib.3.1.1-nightly3.2403-01.js → aib.3.1.1-nightly3.2403-03.js} +594 -350
  11. package/browser/es5/aib.3.1.1-nightly3.2403-03.js.map +1 -0
  12. package/browser/es5/aib.3.1.1-nightly3.2403-03.min.js +6 -0
  13. package/browser/es5/aib.3.1.1-nightly3.2403-03.min.js.map +1 -0
  14. package/browser/es5/aib.3.cjs.js +591 -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 +593 -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 +593 -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 +591 -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 +6 -1
  38. package/browser/es5/aib.3.1.1-nightly3.2403-01.cjs.js.map +0 -1
  39. package/browser/es5/aib.3.1.1-nightly3.2403-01.cjs.min.js +0 -6
  40. package/browser/es5/aib.3.1.1-nightly3.2403-01.cjs.min.js.map +0 -1
  41. package/browser/es5/aib.3.1.1-nightly3.2403-01.gbl.js.map +0 -1
  42. package/browser/es5/aib.3.1.1-nightly3.2403-01.gbl.min.js +0 -6
  43. package/browser/es5/aib.3.1.1-nightly3.2403-01.gbl.min.js.map +0 -1
  44. package/browser/es5/aib.3.1.1-nightly3.2403-01.integrity.json +0 -66
  45. package/browser/es5/aib.3.1.1-nightly3.2403-01.js.map +0 -1
  46. package/browser/es5/aib.3.1.1-nightly3.2403-01.min.js +0 -6
  47. package/browser/es5/aib.3.1.1-nightly3.2403-01.min.js.map +0 -1
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * Application Insights JavaScript Web SDK - Basic, 3.1.1-nightly3.2403-01
2
+ * Application Insights JavaScript Web SDK - Basic, 3.1.1-nightly3.2403-03
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_2403_01", msMod="__ms$mod__";
8
- var mods={}, modDetail=mods[modName]={}, ver="3.1.1-nightly3.2403-01";
7
+ var nsKey, key, nm, theExports = {}, modName = "es5_aib_3_1_1_nightly3_2403_03", msMod="__ms$mod__";
8
+ var mods={}, modDetail=mods[modName]={}, ver="3.1.1-nightly3.2403-03";
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";
@@ -1781,7 +1781,7 @@ function getExceptionName(object) {
1781
1781
  if (isError(object)) {
1782
1782
  return object[_DYN_NAME$2 ];
1783
1783
  }
1784
- return STR_EMPTY;
1784
+ return STR_EMPTY$1;
1785
1785
  }
1786
1786
  function setValue(target, field, value, valChk, srcChk) {
1787
1787
  var theValue = value;
@@ -1984,7 +1984,7 @@ function isIE() {
1984
1984
  var nav = getNavigator();
1985
1985
  if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
1986
1986
  _navUserAgentCheck = nav[_DYN_USER_AGENT ];
1987
- var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
1987
+ var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]();
1988
1988
  _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
1989
1989
  }
1990
1990
  return _isTrident;
@@ -1993,9 +1993,9 @@ function getIEVersion(userAgentStr) {
1993
1993
  if (userAgentStr === void 0) { userAgentStr = null; }
1994
1994
  if (!userAgentStr) {
1995
1995
  var navigator_1 = getNavigator() || {};
1996
- 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;
1997
1997
  }
1998
- var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
1998
+ var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]();
1999
1999
  if (strContains(ua, strMsie)) {
2000
2000
  var doc = getDocument() || {};
2001
2001
  return Math.max(parseInt(ua[_DYN_SPLIT$1 ](strMsie)[1]), (doc[strDocumentMode] || 0));
@@ -2104,7 +2104,7 @@ function newId(maxLength) {
2104
2104
  var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
2105
2105
  var number = random32() >>> 0;
2106
2106
  var chars = 0;
2107
- var result = STR_EMPTY;
2107
+ var result = STR_EMPTY$1;
2108
2108
  while (result[_DYN_LENGTH$2 ] < maxLength) {
2109
2109
  chars++;
2110
2110
  result += base64chars.charAt(number & 0x3F);
@@ -2142,11 +2142,11 @@ function _getCache(data, target) {
2142
2142
  }
2143
2143
  function createUniqueNamespace(name, includeVersion) {
2144
2144
  if (includeVersion === void 0) { includeVersion = false; }
2145
- return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
2145
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY$1) + instanceName);
2146
2146
  }
2147
2147
  function createElmNodeData(name) {
2148
2148
  var data = {
2149
- id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
2149
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY$1) + "." + version),
2150
2150
  accept: function (target) {
2151
2151
  return _canAcceptData(target);
2152
2152
  },
@@ -2899,9 +2899,9 @@ var _logFuncs = (_a$4 = {},
2899
2899
  _a$4);
2900
2900
  function _sanitizeDiagnosticText(text) {
2901
2901
  if (text) {
2902
- return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
2902
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
2903
2903
  }
2904
- return STR_EMPTY;
2904
+ return STR_EMPTY$1;
2905
2905
  }
2906
2906
  function _logToConsole(func, message) {
2907
2907
  var theConsole = getConsole();
@@ -2923,12 +2923,12 @@ var _InternalLogMessage = /** @class */ (function () {
2923
2923
  _self[_DYN_MESSAGE$1 ] =
2924
2924
  (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
2925
2925
  msgId;
2926
- var strProps = STR_EMPTY;
2926
+ var strProps = STR_EMPTY$1;
2927
2927
  if (hasJSON()) {
2928
2928
  strProps = getJSON().stringify(properties);
2929
2929
  }
2930
- var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
2931
- (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
2930
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
2931
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
2932
2932
  _self[_DYN_MESSAGE$1 ] += diagnosticText;
2933
2933
  }
2934
2934
  _InternalLogMessage.dataType = "MessageData";
@@ -3167,7 +3167,7 @@ function createCookieMgr(rootConfig, logger) {
3167
3167
  var result = false;
3168
3168
  if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {
3169
3169
  var values = {};
3170
- var theValue = strTrim(value || STR_EMPTY);
3170
+ var theValue = strTrim(value || STR_EMPTY$1);
3171
3171
  var idx = strIndexOf(theValue, ";");
3172
3172
  if (idx !== -1) {
3173
3173
  theValue = strTrim(strLeft(value, idx));
@@ -3182,11 +3182,11 @@ function createCookieMgr(rootConfig, logger) {
3182
3182
  if (expireMs > 0) {
3183
3183
  var expiry = new Date();
3184
3184
  expiry.setTime(expireMs);
3185
- 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);
3186
3186
  }
3187
3187
  }
3188
3188
  if (!_isIE) {
3189
- setValue(values, "max-age", STR_EMPTY + maxAgeSec, null, isUndefined);
3189
+ setValue(values, "max-age", STR_EMPTY$1 + maxAgeSec, null, isUndefined);
3190
3190
  }
3191
3191
  }
3192
3192
  var location_1 = getLocation();
@@ -3206,7 +3206,7 @@ function createCookieMgr(rootConfig, logger) {
3206
3206
  return result;
3207
3207
  },
3208
3208
  get: function (name) {
3209
- var value = STR_EMPTY;
3209
+ var value = STR_EMPTY$1;
3210
3210
  if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {
3211
3211
  value = _getCookieFn(name);
3212
3212
  }
@@ -3230,7 +3230,7 @@ function createCookieMgr(rootConfig, logger) {
3230
3230
  if (!isIE()) {
3231
3231
  values["max-age"] = "0";
3232
3232
  }
3233
- _delCookieFn(name, _formatCookieValue(STR_EMPTY, values));
3233
+ _delCookieFn(name, _formatCookieValue(STR_EMPTY$1, values));
3234
3234
  result = true;
3235
3235
  }
3236
3236
  return result;
@@ -3263,7 +3263,7 @@ function _extractParts(theValue) {
3263
3263
  if (theValue && theValue[_DYN_LENGTH$2 ]) {
3264
3264
  var parts = strTrim(theValue)[_DYN_SPLIT$1 ](";");
3265
3265
  arrForEach(parts, function (thePart) {
3266
- thePart = strTrim(thePart || STR_EMPTY);
3266
+ thePart = strTrim(thePart || STR_EMPTY$1);
3267
3267
  if (thePart) {
3268
3268
  var idx = strIndexOf(thePart, "=");
3269
3269
  if (idx === -1) {
@@ -3284,22 +3284,22 @@ function _formatDate(theDate, func) {
3284
3284
  return null;
3285
3285
  }
3286
3286
  function _formatCookieValue(value, values) {
3287
- var cookieValue = value || STR_EMPTY;
3287
+ var cookieValue = value || STR_EMPTY$1;
3288
3288
  objForEachKey(values, function (name, theValue) {
3289
- cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY);
3289
+ cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY$1);
3290
3290
  });
3291
3291
  return cookieValue;
3292
3292
  }
3293
3293
  function _getCookieValue(name) {
3294
- var cookieValue = STR_EMPTY;
3294
+ var cookieValue = STR_EMPTY$1;
3295
3295
  !_doc && _getDoc();
3296
3296
  if (_doc.v) {
3297
- var theCookie = _doc.v[strCookie] || STR_EMPTY;
3297
+ var theCookie = _doc.v[strCookie] || STR_EMPTY$1;
3298
3298
  if (_parsedCookieValue !== theCookie) {
3299
3299
  _cookieCache = _extractParts(theCookie);
3300
3300
  _parsedCookieValue = theCookie;
3301
3301
  }
3302
- cookieValue = strTrim(_cookieCache[name] || STR_EMPTY);
3302
+ cookieValue = strTrim(_cookieCache[name] || STR_EMPTY$1);
3303
3303
  }
3304
3304
  return cookieValue;
3305
3305
  }
@@ -3651,7 +3651,7 @@ function initializePlugins(processContext, extensions) {
3651
3651
  }
3652
3652
  arrForEach(initPlugins, function (thePlugin) {
3653
3653
  var core = processContext[STR_CORE ]();
3654
- thePlugin[_DYN_INITIALIZE ](processContext.getCfg(), core, extensions, processContext[_DYN_GET_NEXT ]());
3654
+ thePlugin[_DYN_INITIALIZE$1 ](processContext.getCfg(), core, extensions, processContext[_DYN_GET_NEXT ]());
3655
3655
  pluginState = _getPluginState(thePlugin);
3656
3656
  if (!thePlugin[STR_CORE] && !pluginState[STR_CORE]) {
3657
3657
  pluginState[STR_CORE] = core;
@@ -3995,7 +3995,7 @@ function createTelemetryPluginProxy(plugin, config, core) {
3995
3995
  doPerf(itemCtx[STR_CORE ](), function () { return identifier + ":" + name; }, function () {
3996
3996
  hasRunContext[chainId] = true;
3997
3997
  try {
3998
- var nextId = nextProxy ? nextProxy._id : STR_EMPTY;
3998
+ var nextId = nextProxy ? nextProxy._id : STR_EMPTY$1;
3999
3999
  if (nextId) {
4000
4000
  hasRunContext[nextId] = false;
4001
4001
  }
@@ -4140,7 +4140,7 @@ var BaseTelemetryPlugin = /** @class */ (function () {
4140
4140
  var _hookContainer;
4141
4141
  _initDefaults();
4142
4142
  dynamicProto(BaseTelemetryPlugin, _self, function (_self) {
4143
- _self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
4143
+ _self[_DYN_INITIALIZE$1 ] = function (config, core, extensions, pluginChain) {
4144
4144
  _setDefaults(config, core, pluginChain);
4145
4145
  _isinitialized = true;
4146
4146
  };
@@ -4359,7 +4359,7 @@ function _validateExtensions(logger, channelPriority, allExtensions) {
4359
4359
  var channels = [];
4360
4360
  var extPriorities = {};
4361
4361
  arrForEach(allExtensions, function (ext) {
4362
- if (isNullOrUndefined(ext) || isNullOrUndefined(ext[_DYN_INITIALIZE ])) {
4362
+ if (isNullOrUndefined(ext) || isNullOrUndefined(ext[_DYN_INITIALIZE$1 ])) {
4363
4363
  throwError(strValidationError);
4364
4364
  }
4365
4365
  var extPriority = ext[STR_PRIORITY ];
@@ -4484,7 +4484,7 @@ var AppInsightsCore = /** @class */ (function () {
4484
4484
  return [_extensions];
4485
4485
  };
4486
4486
  _self[_DYN_IS_INITIALIZED ] = function () { return _isInitialized; };
4487
- _self[_DYN_INITIALIZE ] = function (config, extensions, logger, notificationManager) {
4487
+ _self[_DYN_INITIALIZE$1 ] = function (config, extensions, logger, notificationManager) {
4488
4488
  if (_isUnloading) {
4489
4489
  throwError(strSdkUnloadingError);
4490
4490
  }
@@ -4847,7 +4847,7 @@ var AppInsightsCore = /** @class */ (function () {
4847
4847
  }
4848
4848
  _pluginVersionString = _pluginVersionStringArr.join(";");
4849
4849
  }
4850
- return _pluginVersionString || STR_EMPTY;
4850
+ return _pluginVersionString || STR_EMPTY$1;
4851
4851
  }
4852
4852
  });
4853
4853
  objDefine(_self, "logger", {
@@ -5160,16 +5160,16 @@ var elmNodeData = createElmNodeData("events");
5160
5160
  var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
5161
5161
  function _normalizeNamespace(name) {
5162
5162
  if (name && name[_DYN_REPLACE ]) {
5163
- return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY);
5163
+ return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY$1);
5164
5164
  }
5165
5165
  return name;
5166
5166
  }
5167
5167
  function _getEvtNamespace(eventName, evtNamespace) {
5168
5168
  var _a;
5169
5169
  if (evtNamespace) {
5170
- var theNamespace_1 = STR_EMPTY;
5170
+ var theNamespace_1 = STR_EMPTY$1;
5171
5171
  if (isArray(evtNamespace)) {
5172
- theNamespace_1 = STR_EMPTY;
5172
+ theNamespace_1 = STR_EMPTY$1;
5173
5173
  arrForEach(evtNamespace, function (name) {
5174
5174
  name = _normalizeNamespace(name);
5175
5175
  if (name) {
@@ -5187,13 +5187,13 @@ function _getEvtNamespace(eventName, evtNamespace) {
5187
5187
  if (theNamespace_1[0] !== ".") {
5188
5188
  theNamespace_1 = "." + theNamespace_1;
5189
5189
  }
5190
- eventName = (eventName || STR_EMPTY) + theNamespace_1;
5190
+ eventName = (eventName || STR_EMPTY$1) + theNamespace_1;
5191
5191
  }
5192
5192
  }
5193
- var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
5193
+ var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY$1) || []);
5194
5194
  return _a = {},
5195
5195
  _a[_DYN_TYPE ] = parsedEvent[1],
5196
- _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("."),
5197
5197
  _a;
5198
5198
  }
5199
5199
  function _getRegisteredEvents(target, evtName, addDefault) {
@@ -5342,15 +5342,21 @@ var RequestHeaders = createValueMap({
5342
5342
  var _DYN_SPLIT = "split";
5343
5343
  var _DYN_LENGTH$1 = "length";
5344
5344
  var _DYN_TO_LOWER_CASE = "toLowerCase";
5345
+ var _DYN_LOCATION = "location";
5345
5346
  var _DYN_INGESTIONENDPOINT = "ingestionendpoint";
5346
5347
  var _DYN_TO_STRING$1 = "toString";
5347
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";
5348
5354
  var _DYN_REMOVE_ITEM = "removeItem";
5349
5355
  var _DYN_NAME$1 = "name";
5350
- var _DYN_MESSAGE = "message";
5351
5356
  var _DYN_COUNT$1 = "count";
5352
5357
  var _DYN_STRINGIFY$1 = "stringify";
5353
5358
  var _DYN_PATHNAME = "pathname";
5359
+ var _DYN_ITEMS_RECEIVED$1 = "itemsReceived";
5354
5360
  var _DYN_EXCEPTIONS = "exceptions";
5355
5361
  var _DYN_PARSED_STACK = "parsedStack";
5356
5362
  var _DYN_PROPERTIES = "properties";
@@ -5572,6 +5578,54 @@ function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName)
5572
5578
  data: data
5573
5579
  };
5574
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
+ }
5575
5629
 
5576
5630
  var StorageType = createEnumStyle({
5577
5631
  LocalStorage: 0 ,
@@ -5660,7 +5714,7 @@ function parseConnectionString(connectionString) {
5660
5714
  }, {});
5661
5715
  if (objKeys(result)[_DYN_LENGTH$1 ] > 0) {
5662
5716
  if (result.endpointsuffix) {
5663
- var locationPrefix = result.location ? result.location + "." : "";
5717
+ var locationPrefix = result[_DYN_LOCATION ] ? result[_DYN_LOCATION ] + "." : "";
5664
5718
  result[_DYN_INGESTIONENDPOINT ] = result[_DYN_INGESTIONENDPOINT ] || ("https://" + locationPrefix + "dc." + result.endpointsuffix);
5665
5719
  }
5666
5720
  result[_DYN_INGESTIONENDPOINT ] = result[_DYN_INGESTIONENDPOINT ] || DEFAULT_BREEZE_ENDPOINT;
@@ -5679,7 +5733,7 @@ var Envelope = /** @class */ (function () {
5679
5733
  _self.sampleRate = 100.0;
5680
5734
  _self.tags = {};
5681
5735
  _self[_DYN_NAME$1 ] = dataSanitizeString(logger, name) || strNotSpecified;
5682
- _self.data = data;
5736
+ _self[_DYN_DATA$1 ] = data;
5683
5737
  _self.time = toISOString(new Date());
5684
5738
  _self.aiDataContract = {
5685
5739
  time: 1 ,
@@ -5836,8 +5890,8 @@ function _getStackFromErrorObj(errorObj) {
5836
5890
  else if (getWindow() && getWindow()["opera"] && errorObj[strMessage]) {
5837
5891
  details = _getOperaStack(errorObj[_DYN_MESSAGE ]);
5838
5892
  }
5839
- else if (errorObj["reason"] && errorObj.reason[strStack]) {
5840
- details = _convertStackObj(errorObj.reason[strStack]);
5893
+ else if (errorObj["reason"] && errorObj[_DYN_REASON ][strStack]) {
5894
+ details = _convertStackObj(errorObj[_DYN_REASON ][strStack]);
5841
5895
  }
5842
5896
  else if (isString(errorObj)) {
5843
5897
  details = _convertStackObj(errorObj);
@@ -6308,7 +6362,7 @@ var RemoteDependencyData = /** @class */ (function () {
6308
6362
  _self.resultCode = resultCode + "";
6309
6363
  _self.type = dataSanitizeString(logger, requestAPI);
6310
6364
  var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);
6311
- _self.data = dataSanitizeUrl(logger, commandName) || dependencyFields.data;
6365
+ _self[_DYN_DATA$1 ] = dataSanitizeUrl(logger, commandName) || dependencyFields[_DYN_DATA$1 ];
6312
6366
  _self.target = dataSanitizeString(logger, dependencyFields.target);
6313
6367
  if (correlationContext) {
6314
6368
  _self.target = "".concat(_self.target, " | ").concat(correlationContext);
@@ -6482,6 +6536,360 @@ var ContextTagKeys = /** @class */ (function (_super) {
6482
6536
 
6483
6537
  var CtxTagKeys = new ContextTagKeys();
6484
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
+
6485
6893
  function _disableEvents(target, evtNamespace) {
6486
6894
  eventOff(target, null, null, evtNamespace);
6487
6895
  }
@@ -6620,43 +7028,42 @@ var _DYN_EVENTS_LIMIT_IN_MEM = "eventsLimitInMem";
6620
7028
  var _DYN_PUSH = "push";
6621
7029
  var _DYN_EMIT_LINE_DELIMITED_0 = "emitLineDelimitedJson";
6622
7030
  var _DYN_CLEAR = "clear";
6623
- var _DYN_BATCH_PAYLOADS = "batchPayloads";
6624
7031
  var _DYN_CREATE_NEW = "createNew";
6625
7032
  var _DYN_MARK_AS_SENT = "markAsSent";
6626
7033
  var _DYN_CLEAR_SENT = "clearSent";
6627
7034
  var _DYN_BUFFER_OVERRIDE = "bufferOverride";
6628
7035
  var _DYN__BUFFER__KEY = "BUFFER_KEY";
6629
7036
  var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
6630
- var _DYN_CONCAT = "concat";
6631
7037
  var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
6632
- var _DYN_SEND_POST = "sendPOST";
6633
7038
  var _DYN_TRIGGER_SEND = "triggerSend";
6634
7039
  var _DYN_DIAG_LOG = "diagLog";
7040
+ var _DYN_INITIALIZE = "initialize";
6635
7041
  var _DYN__SENDER = "_sender";
6636
7042
  var _DYN_CUSTOM_HEADERS = "customHeaders";
6637
7043
  var _DYN_MAX_BATCH_SIZE_IN_BY1 = "maxBatchSizeInBytes";
6638
7044
  var _DYN_ONUNLOAD_DISABLE_BEA2 = "onunloadDisableBeacon";
6639
7045
  var _DYN_IS_BEACON_API_DISABL3 = "isBeaconApiDisabled";
6640
7046
  var _DYN_ALWAYS_USE_XHR_OVERR4 = "alwaysUseXhrOverride";
7047
+ var _DYN_DISABLE_XHR = "disableXhr";
6641
7048
  var _DYN_ENABLE_SESSION_STORA5 = "enableSessionStorageBuffer";
6642
7049
  var _DYN__BUFFER = "_buffer";
6643
7050
  var _DYN_ONUNLOAD_DISABLE_FET6 = "onunloadDisableFetch";
6644
7051
  var _DYN_DISABLE_SEND_BEACON_7 = "disableSendBeaconSplit";
6645
7052
  var _DYN_INSTRUMENTATION_KEY$1 = "instrumentationKey";
7053
+ var _DYN_ENABLE_SEND_PROMISE = "enableSendPromise";
7054
+ var _DYN_GET_XHR_INST = "getXhrInst";
6646
7055
  var _DYN_UNLOAD_TRANSPORTS = "unloadTransports";
6647
7056
  var _DYN_CONVERT_UNDEFINED = "convertUndefined";
6648
7057
  var _DYN_MAX_BATCH_INTERVAL = "maxBatchInterval";
6649
7058
  var _DYN_SERIALIZE = "serialize";
6650
- var _DYN__XHR_READY_STATE_CHA8 = "_xhrReadyStateChange";
6651
7059
  var _DYN__ON_ERROR = "_onError";
6652
7060
  var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
6653
7061
  var _DYN__ON_SUCCESS = "_onSuccess";
6654
7062
  var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
6655
7063
  var _DYN_ITEMS_RECEIVED = "itemsReceived";
7064
+ var _DYN_ORI_PAYLOAD = "oriPayload";
6656
7065
  var _DYN_BASE_TYPE = "baseType";
6657
7066
  var _DYN_SAMPLE_RATE = "sampleRate";
6658
- var _DYN_ORI_PAYLOAD = "oriPayload";
6659
- var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
6660
7067
  var _DYN_EVENTS_SEND_REQUEST = "eventsSendRequest";
6661
7068
  var _DYN_GET_SAMPLING_SCORE = "getSamplingScore";
6662
7069
  var _DYN_GET_HASH_CODE_SCORE = "getHashCodeScore";
@@ -6770,7 +7177,7 @@ function EnvelopeCreatorInit(logger, telemetryItem) {
6770
7177
  }
6771
7178
  }
6772
7179
  var EnvelopeCreator = {
6773
- Version: '3.1.1-nightly3.2403-01'
7180
+ Version: '3.1.1-nightly3.2403-03'
6774
7181
  };
6775
7182
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
6776
7183
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -6961,7 +7368,7 @@ var BaseSendBuffer = /** @class */ (function () {
6961
7368
  _self.getItems = function () {
6962
7369
  return _buffer.slice(0);
6963
7370
  };
6964
- _self[_DYN_BATCH_PAYLOADS ] = function (payload) {
7371
+ _self.batchPayloads = function (payload) {
6965
7372
  if (payload && payload[_DYN_LENGTH ] > 0) {
6966
7373
  var batch = config[_DYN_EMIT_LINE_DELIMITED_0 ] ?
6967
7374
  payload.join("\n") :
@@ -7011,7 +7418,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
7011
7418
  dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {
7012
7419
  var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ]);
7013
7420
  var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
7014
- var buffer = _self._set(bufferItems[_DYN_CONCAT ](notDeliveredItems));
7421
+ var buffer = _self._set(bufferItems.concat(notDeliveredItems));
7015
7422
  if (buffer[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
7016
7423
  buffer[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
7017
7424
  }
@@ -7038,7 +7445,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
7038
7445
  _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], _self._set(_removePayloadsFromBuffer(payload, _self[_DYN__GET ]())));
7039
7446
  var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
7040
7447
  if (sentElements instanceof Array && payload instanceof Array) {
7041
- sentElements = sentElements[_DYN_CONCAT ](payload);
7448
+ sentElements = sentElements.concat(payload);
7042
7449
  if (sentElements[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
7043
7450
  _throwInternal(logger, 1 , 67 , "Sent buffer reached its maximum size: " + sentElements[_DYN_LENGTH ], true);
7044
7451
  sentElements[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
@@ -7271,7 +7678,7 @@ var HashCodeScoreGenerator = /** @class */ (function () {
7271
7678
  return 0;
7272
7679
  }
7273
7680
  while (input[_DYN_LENGTH ] < MIN_INPUT_LENGTH) {
7274
- input = input[_DYN_CONCAT ](input);
7681
+ input = input.concat(input);
7275
7682
  }
7276
7683
  var hash = 5381;
7277
7684
  for (var i = 0; i < input[_DYN_LENGTH ]; ++i) {
@@ -7351,18 +7758,7 @@ function _getResponseText(xhr) {
7351
7758
  return null;
7352
7759
  }
7353
7760
  function isOverrideFn(httpXHROverride) {
7354
- return httpXHROverride && httpXHROverride[_DYN_SEND_POST ];
7355
- }
7356
- function _prependTransports(theTransports, newTransports) {
7357
- if (newTransports) {
7358
- if (isNumber(newTransports)) {
7359
- theTransports = [newTransports][_DYN_CONCAT ](theTransports);
7360
- }
7361
- else if (isArray(newTransports)) {
7362
- theTransports = newTransports[_DYN_CONCAT ](theTransports);
7363
- }
7364
- }
7365
- return theTransports;
7761
+ return httpXHROverride && httpXHROverride.sendPOST;
7366
7762
  }
7367
7763
  var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
7368
7764
  endpointUrl: cfgDfValidate(isTruthy, DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH)
@@ -7375,7 +7771,7 @@ var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
7375
7771
  _a.isRetryDisabled = cfgDfBoolean(),
7376
7772
  _a[_DYN_IS_BEACON_API_DISABL3 ] = cfgDfBoolean(true),
7377
7773
  _a[_DYN_DISABLE_SEND_BEACON_7 ] = cfgDfBoolean(true),
7378
- _a.disableXhr = cfgDfBoolean(),
7774
+ _a[_DYN_DISABLE_XHR ] = cfgDfBoolean(),
7379
7775
  _a[_DYN_ONUNLOAD_DISABLE_FET6 ] = cfgDfBoolean(),
7380
7776
  _a[_DYN_ONUNLOAD_DISABLE_BEA2 ] = cfgDfBoolean(),
7381
7777
  _a[_DYN_INSTRUMENTATION_KEY$1 ] = UNDEFINED_VALUE,
@@ -7440,6 +7836,7 @@ var Sender = /** @class */ (function (_super) {
7440
7836
  var _xhrSend;
7441
7837
  var _fallbackSend;
7442
7838
  var _disableBeaconSplit;
7839
+ var _sendPostMgr;
7443
7840
  dynamicProto(Sender, _this, function (_self, _base) {
7444
7841
  _initDefaults();
7445
7842
  _self.pause = function () {
@@ -7484,11 +7881,11 @@ var Sender = /** @class */ (function (_super) {
7484
7881
  _self.addHeader = function (name, value) {
7485
7882
  _headers[name] = value;
7486
7883
  };
7487
- _self.initialize = function (config, core, extensions, pluginChain) {
7884
+ _self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
7488
7885
  if (_self.isInitialized()) {
7489
7886
  _throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 28 , "Sender is already initialized");
7490
7887
  }
7491
- _base.initialize(config, core, extensions, pluginChain);
7888
+ _base[_DYN_INITIALIZE ](config, core, extensions, pluginChain);
7492
7889
  var identifier = _self.identifier;
7493
7890
  _serializer = new Serializer(core.logger);
7494
7891
  _consecutiveErrors = 0;
@@ -7523,7 +7920,7 @@ var Sender = /** @class */ (function (_super) {
7523
7920
  _beaconOnUnloadSupported = senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ] === false && isBeaconsSupported();
7524
7921
  _beaconNormalSupported = senderConfig[_DYN_IS_BEACON_API_DISABL3 ] === false && isBeaconsSupported();
7525
7922
  _alwaysUseCustomSend = senderConfig[_DYN_ALWAYS_USE_XHR_OVERR4 ];
7526
- _disableXhr = !!senderConfig.disableXhr;
7923
+ _disableXhr = !!senderConfig[_DYN_DISABLE_XHR ];
7527
7924
  var bufferOverride = senderConfig[_DYN_BUFFER_OVERRIDE ];
7528
7925
  var canUseSessionStorage = !!senderConfig[_DYN_ENABLE_SESSION_STORA5 ] &&
7529
7926
  (!!bufferOverride || utlCanUseSessionStorage());
@@ -7565,13 +7962,21 @@ var Sender = /** @class */ (function (_super) {
7565
7962
  else {
7566
7963
  _customHeaders = null;
7567
7964
  }
7568
- _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
+ }
7569
7974
  var customInterface = senderConfig.httpXHROverride;
7570
7975
  var httpInterface = null;
7571
7976
  var syncInterface = null;
7572
- var theTransports = _prependTransports([3 , 1 , 2 ], senderConfig.transports);
7573
- httpInterface = _getSenderInterface(theTransports, false);
7574
- 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();
7575
7980
  _xhrSend = function (payload, isAsync) {
7576
7981
  return _doSend(xhrInterface, payload, isAsync);
7577
7982
  };
@@ -7585,11 +7990,11 @@ var Sender = /** @class */ (function (_super) {
7585
7990
  if (_fetchKeepAlive) {
7586
7991
  _syncUnloadSender = _fetchKeepAliveSender;
7587
7992
  }
7588
- var syncTransports = _prependTransports([3 , 1 ], senderConfig[_DYN_UNLOAD_TRANSPORTS ]);
7993
+ var syncTransports = prependTransports([3 , 1 ], senderConfig[_DYN_UNLOAD_TRANSPORTS ]);
7589
7994
  if (!_fetchKeepAlive) {
7590
7995
  syncTransports = syncTransports.filter(function (transport) { return transport !== 2 ; });
7591
7996
  }
7592
- syncInterface = _getSenderInterface(syncTransports, true);
7997
+ syncInterface = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ](syncTransports, true);
7593
7998
  syncInterface = _alwaysUseCustomSend ? customInterface : (syncInterface || customInterface);
7594
7999
  if ((_alwaysUseCustomSend || senderConfig[_DYN_UNLOAD_TRANSPORTS ] || !_syncUnloadSender) && syncInterface) {
7595
8000
  _syncUnloadSender = function (payload, isAsync) {
@@ -7631,10 +8036,8 @@ var Sender = /** @class */ (function (_super) {
7631
8036
  _self.isCompletelyIdle = function () {
7632
8037
  return !_paused && _syncFetchPayload === 0 && _self._buffer[_DYN_COUNT ]() === 0;
7633
8038
  };
7634
- _self[_DYN__XHR_READY_STATE_CHA8 ] = function (xhr, payload, countOfItemsInPayload) {
7635
- if (xhr.readyState === 4) {
7636
- _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, _formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
7637
- }
8039
+ _self._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {
8040
+ return _xhrReadyStateChange(xhr, payload, countOfItemsInPayload);
7638
8041
  };
7639
8042
  _self[_DYN_TRIGGER_SEND ] = function (async, forcedSender, sendReason) {
7640
8043
  if (async === void 0) { async = true; }
@@ -7710,7 +8113,7 @@ var Sender = /** @class */ (function (_super) {
7710
8113
  _self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
7711
8114
  }
7712
8115
  if (failed[_DYN_LENGTH ] > 0) {
7713
- _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(" ")));
7714
8117
  }
7715
8118
  if (retry[_DYN_LENGTH ] > 0) {
7716
8119
  _resendPayload(retry);
@@ -7723,22 +8126,89 @@ var Sender = /** @class */ (function (_super) {
7723
8126
  _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
7724
8127
  };
7725
8128
  _self._xdrOnLoad = function (xdr, payload) {
8129
+ return _xdrOnLoad(xdr, payload);
8130
+ };
8131
+ function _xdrOnLoad(xdr, payload) {
7726
8132
  var responseText = _getResponseText(xdr);
7727
8133
  if (xdr && (responseText + "" === "200" || responseText === "")) {
7728
8134
  _consecutiveErrors = 0;
7729
8135
  _self[_DYN__ON_SUCCESS ](payload, 0);
7730
8136
  }
7731
8137
  else {
7732
- var results = _parseResponse(responseText);
8138
+ var results = parseResponse(responseText);
7733
8139
  if (results && results.itemsReceived && results.itemsReceived > results[_DYN_ITEMS_ACCEPTED ]
7734
8140
  && !_isRetryDisabled) {
7735
8141
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, results);
7736
8142
  }
7737
8143
  else {
7738
- _self[_DYN__ON_ERROR ](payload, _formatErrorMessageXdr(xdr));
8144
+ _self[_DYN__ON_ERROR ](payload, formatErrorMessageXdr(xdr));
7739
8145
  }
7740
8146
  }
7741
- };
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
+ }
7742
8212
  function _validate(telemetryItem, diagLogger) {
7743
8213
  if (_disableTelemetry) {
7744
8214
  return false;
@@ -7834,36 +8304,6 @@ var Sender = /** @class */ (function (_super) {
7834
8304
  function _isSampledIn(envelope) {
7835
8305
  return _self._sample.isSampledIn(envelope);
7836
8306
  }
7837
- function _getSenderInterface(transports, syncSupport) {
7838
- var _a;
7839
- var transportType = null;
7840
- var sendPostFunc = null;
7841
- var lp = 0;
7842
- while (sendPostFunc == null && lp < transports[_DYN_LENGTH ]) {
7843
- transportType = transports[lp];
7844
- if (!_disableXhr && transportType === 1 ) {
7845
- if (useXDomainRequest()) {
7846
- sendPostFunc = _xdrSender;
7847
- }
7848
- else if (isXhrSupported()) {
7849
- sendPostFunc = _xhrSender;
7850
- }
7851
- }
7852
- else if (transportType === 2 && isFetchSupported(syncSupport)) {
7853
- sendPostFunc = _fetchSender;
7854
- }
7855
- else if (transportType === 3 && (syncSupport ? _beaconOnUnloadSupported : _beaconNormalSupported)) {
7856
- sendPostFunc = _beaconSender;
7857
- }
7858
- lp++;
7859
- }
7860
- if (sendPostFunc) {
7861
- return _a = {},
7862
- _a[_DYN_SEND_POST ] = sendPostFunc,
7863
- _a;
7864
- }
7865
- return null;
7866
- }
7867
8307
  function _getOnComplete(payload, status, headers, response) {
7868
8308
  if (status === 200 && payload) {
7869
8309
  _self._onSuccess(payload, payload[_DYN_LENGTH ]);
@@ -7878,7 +8318,7 @@ var Sender = /** @class */ (function (_super) {
7878
8318
  return _getOnComplete(payload, status, headers, response);
7879
8319
  };
7880
8320
  var payloadData = _getPayload(payload);
7881
- var sendPostFunc = sendInterface && sendInterface[_DYN_SEND_POST ];
8321
+ var sendPostFunc = sendInterface && sendInterface.sendPOST;
7882
8322
  if (sendPostFunc && payloadData) {
7883
8323
  if (markAsSent) {
7884
8324
  _self._buffer[_DYN_MARK_AS_SENT ](payload);
@@ -7890,7 +8330,7 @@ var Sender = /** @class */ (function (_super) {
7890
8330
  function _getPayload(payload) {
7891
8331
  var _a;
7892
8332
  if (isArray(payload) && payload[_DYN_LENGTH ] > 0) {
7893
- var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
8333
+ var batch = _self[_DYN__BUFFER ].batchPayloads(payload);
7894
8334
  var payloadData = (_a = {},
7895
8335
  _a[_DYN_DATA ] = batch,
7896
8336
  _a.urlString = _endpointUrl,
@@ -7903,9 +8343,6 @@ var Sender = /** @class */ (function (_super) {
7903
8343
  }
7904
8344
  return null;
7905
8345
  }
7906
- function _fetchSender(payload, oncomplete, sync) {
7907
- return _doFetchSender(payload, oncomplete, false);
7908
- }
7909
8346
  function _checkMaxSize(incomingPayload) {
7910
8347
  var incomingSize = incomingPayload ? incomingPayload[_DYN_LENGTH ] : 0;
7911
8348
  if ((_self[_DYN__BUFFER ].size() + incomingSize) > _maxBatchSizeInBytes) {
@@ -7919,7 +8356,7 @@ var Sender = /** @class */ (function (_super) {
7919
8356
  function _checkResponsStatus(status, payload, responseUrl, countOfItemsInPayload, errorMessage, res) {
7920
8357
  var response = null;
7921
8358
  if (!_self._appId) {
7922
- response = _parseResponse(res);
8359
+ response = parseResponse(res);
7923
8360
  if (response && response.appId) {
7924
8361
  _self._appId = response.appId;
7925
8362
  }
@@ -7951,7 +8388,7 @@ var Sender = /** @class */ (function (_super) {
7951
8388
  _checkAndUpdateEndPointUrl(responseUrl);
7952
8389
  if (status === 206) {
7953
8390
  if (!response) {
7954
- response = _parseResponse(res);
8391
+ response = parseResponse(res);
7955
8392
  }
7956
8393
  if (response && !_isRetryDisabled) {
7957
8394
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, response);
@@ -7979,223 +8416,61 @@ var Sender = /** @class */ (function (_super) {
7979
8416
  }
7980
8417
  return false;
7981
8418
  }
7982
- function _doOnComplete(oncomplete, status, headers, response) {
7983
- try {
7984
- oncomplete(status, headers, response);
7985
- }
7986
- catch (e) {
7987
- }
7988
- }
7989
8419
  function _doUnloadSend(payload, isAsync) {
7990
8420
  if (_syncUnloadSender) {
7991
8421
  _syncUnloadSender(payload, false);
7992
8422
  }
7993
8423
  else {
7994
- var payloadData = _getPayload(payload);
7995
- _self._buffer[_DYN_MARK_AS_SENT ](payload);
7996
- _beaconSender(payloadData);
8424
+ var beaconInst = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ]([3 ], true);
8425
+ return _doSend(beaconInst, payload, isAsync);
7997
8426
  }
7998
8427
  }
7999
- function _doBeaconSend(payload, oncomplete) {
8000
- var nav = getNavigator();
8001
- var url = _endpointUrl;
8002
- var buffer = _self[_DYN__BUFFER ];
8003
- var batch = buffer[_DYN_BATCH_PAYLOADS ](payload);
8004
- var plainTextBatch = new Blob([batch], { type: "text/plain;charset=UTF-8" });
8005
- var queued = nav.sendBeacon(url, plainTextBatch);
8006
- if (queued) {
8007
- _self._onSuccess(payload, payload[_DYN_LENGTH ]);
8008
- }
8009
- return queued;
8010
- }
8011
- function _beaconSender(payload, oncomplete, sync) {
8428
+ function _onBeaconRetry(payload, onComplete, canSend) {
8012
8429
  var internalPayload = payload;
8013
8430
  var data = internalPayload && internalPayload[_DYN_ORI_PAYLOAD ];
8014
- if (isArray(data) && data[_DYN_LENGTH ] > 0) {
8015
- if (!_doBeaconSend(data)) {
8016
- if (!_disableBeaconSplit) {
8017
- var droppedPayload = [];
8018
- for (var lp = 0; lp < data[_DYN_LENGTH ]; lp++) {
8019
- var thePayload = data[lp];
8020
- if (!_doBeaconSend([thePayload])) {
8021
- droppedPayload[_DYN_PUSH ](thePayload);
8022
- }
8023
- }
8024
- if (droppedPayload[_DYN_LENGTH ] > 0) {
8025
- _fallbackSend && _fallbackSend(droppedPayload, true);
8026
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
8027
- }
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);
8028
8439
  }
8029
8440
  else {
8030
- _fallbackSend && _fallbackSend(data, true);
8031
- _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 ]);
8032
8442
  }
8033
8443
  }
8034
- }
8035
- }
8036
- function _xhrSender(payload, oncomplete, sync) {
8037
- var internalPayload = payload;
8038
- var thePromise;
8039
- var resolveFunc;
8040
- var rejectFunc;
8041
- var xhr = new XMLHttpRequest();
8042
- var endPointUrl = _endpointUrl;
8043
- try {
8044
- xhr[DisabledPropertyName] = true;
8045
- }
8046
- catch (e) {
8047
- }
8048
- xhr.open("POST", endPointUrl, !sync);
8049
- xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
8050
- if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
8051
- xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
8052
- }
8053
- arrForEach(objKeys(_headers), function (headerName) {
8054
- xhr[_DYN_SET_REQUEST_HEADER ](headerName, _headers[headerName]);
8055
- });
8056
- xhr.onreadystatechange = function () {
8057
- var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
8058
- _self._xhrReadyStateChange(xhr, oriPayload, oriPayload[_DYN_LENGTH ]);
8059
- if (xhr.readyState === 4) {
8060
- 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.");
8061
8447
  }
8062
- };
8063
- xhr.onerror = function (event) {
8064
- _doOnComplete(oncomplete, 400, {}, _formatErrorMessageXhr(xhr));
8065
- rejectFunc && rejectFunc(event);
8066
- };
8067
- if (!sync && _enableSendPromise) {
8068
- thePromise = createPromise(function (resolve, reject) {
8069
- resolveFunc = resolve;
8070
- rejectFunc = reject;
8071
- });
8072
8448
  }
8073
- xhr.send(payload[_DYN_DATA ]);
8074
- 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
+ }
8075
8453
  }
8076
8454
  function _fetchKeepAliveSender(payload, isAsync) {
8077
- var onComplete = function (status, headers, response) {
8078
- return _getOnComplete(payload, status, headers, response);
8079
- };
8455
+ var transport = null;
8080
8456
  if (isArray(payload)) {
8081
8457
  var payloadSize = payload[_DYN_LENGTH ];
8082
8458
  for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
8083
8459
  payloadSize += payload[lp][_DYN_LENGTH ];
8084
8460
  }
8085
- var payloadData = _getPayload(payload);
8086
- _self._buffer[_DYN_MARK_AS_SENT ](payload);
8087
- if ((_syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
8088
- _doFetchSender(payloadData, onComplete, true);
8461
+ var syncFetchPayload = _sendPostMgr.getSyncFetchPayload();
8462
+ if ((syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
8463
+ transport = 2 ;
8089
8464
  }
8090
8465
  else if (isBeaconsSupported()) {
8091
- _beaconSender(payloadData);
8466
+ transport = 3 ;
8092
8467
  }
8093
8468
  else {
8094
- _fallbackSend && _fallbackSend(payload, true);
8469
+ transport = 1 ;
8095
8470
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with xhrSender.");
8096
8471
  }
8097
- }
8098
- }
8099
- function _doFetchSender(payload, oncomplete, sync) {
8100
- var _a;
8101
- var endPointUrl = _endpointUrl;
8102
- var internalPayload = payload;
8103
- var batch = internalPayload[_DYN_DATA ];
8104
- var plainTextBatch = new Blob([batch], { type: "application/json" });
8105
- var thePromise;
8106
- var resolveFunc;
8107
- var rejectFunc;
8108
- var requestHeaders = new Headers();
8109
- var batchLength = batch[_DYN_LENGTH ];
8110
- var ignoreResponse = false;
8111
- var responseHandled = false;
8112
- if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
8113
- requestHeaders.append(RequestHeaders[6 ], RequestHeaders[7 ]);
8114
- }
8115
- arrForEach(objKeys(_headers), function (headerName) {
8116
- requestHeaders.append(headerName, _headers[headerName]);
8117
- });
8118
- var init = (_a = {
8119
- method: "POST",
8120
- headers: requestHeaders,
8121
- body: plainTextBatch
8122
- },
8123
- _a[DisabledPropertyName] = true
8124
- ,
8125
- _a);
8126
- if (sync) {
8127
- init.keepalive = true;
8128
- ignoreResponse = true;
8129
- _syncFetchPayload += batchLength;
8130
- }
8131
- var request = new Request(endPointUrl, init);
8132
- try {
8133
- request[DisabledPropertyName] = true;
8134
- }
8135
- catch (e) {
8136
- }
8137
- if (!sync && _enableSendPromise) {
8138
- thePromise = createPromise(function (resolve, reject) {
8139
- resolveFunc = resolve;
8140
- rejectFunc = reject;
8141
- });
8142
- }
8143
- try {
8144
- doAwaitResponse(fetch(request), function (result) {
8145
- if (sync) {
8146
- _syncFetchPayload -= batchLength;
8147
- batchLength = 0;
8148
- }
8149
- if (!responseHandled) {
8150
- responseHandled = true;
8151
- if (!result.rejected) {
8152
- var response_1 = result.value;
8153
- if (!response_1.ok) {
8154
- _doOnComplete(oncomplete, 400, {}, response_1.statusText);
8155
- resolveFunc && resolveFunc(false);
8156
- }
8157
- else {
8158
- doAwaitResponse(response_1.text(), function (resp) {
8159
- var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
8160
- _checkResponsStatus(response_1.status, oriPayload, response_1.url, oriPayload[_DYN_LENGTH ], response_1.statusText, resp.value || "");
8161
- resolveFunc && resolveFunc(true);
8162
- });
8163
- }
8164
- }
8165
- else {
8166
- _doOnComplete(oncomplete, 400, {}, result.reason && result.reason.message);
8167
- rejectFunc && rejectFunc(result.reason);
8168
- }
8169
- }
8170
- });
8171
- }
8172
- catch (e) {
8173
- if (!responseHandled) {
8174
- _doOnComplete(oncomplete, 400, {}, dumpObj(e));
8175
- rejectFunc && rejectFunc(e);
8176
- }
8177
- }
8178
- if (ignoreResponse && !responseHandled) {
8179
- responseHandled = true;
8180
- _doOnComplete(oncomplete, 200, {});
8181
- resolveFunc && resolveFunc(true);
8182
- }
8183
- return thePromise;
8184
- }
8185
- function _parseResponse(response) {
8186
- try {
8187
- if (response && response !== "") {
8188
- var result = getJSON().parse(response);
8189
- if (result && result.itemsReceived && result.itemsReceived >= result[_DYN_ITEMS_ACCEPTED ] &&
8190
- result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH ]) {
8191
- return result;
8192
- }
8193
- }
8194
- }
8195
- catch (e) {
8196
- _throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
8197
- response: response
8198
- });
8472
+ var inst = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ]([transport], true);
8473
+ return _doSend(inst, payload, isAsync);
8199
8474
  }
8200
8475
  return null;
8201
8476
  }
@@ -8254,41 +8529,6 @@ var Sender = /** @class */ (function (_super) {
8254
8529
  || statusCode === 503
8255
8530
  || statusCode === 504;
8256
8531
  }
8257
- function _formatErrorMessageXhr(xhr, message) {
8258
- if (xhr) {
8259
- return "XMLHttpRequest,Status:" + xhr.status + ",Response:" + _getResponseText(xhr) || xhr.response || "";
8260
- }
8261
- return message;
8262
- }
8263
- function _xdrSender(payload, oncomplete, sync) {
8264
- var internalPayload = payload;
8265
- var _window = getWindow();
8266
- var xdr = new XDomainRequest();
8267
- var data = internalPayload[_DYN_DATA ];
8268
- xdr.onload = function () {
8269
- var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
8270
- _self._xdrOnLoad(xdr, oriPayload);
8271
- };
8272
- xdr.onerror = function () {
8273
- _doOnComplete(oncomplete, 400, {}, _formatErrorMessageXdr(xdr));
8274
- };
8275
- var hostingProtocol = _window && _window.location && _window.location.protocol || "";
8276
- if (_endpointUrl.lastIndexOf(hostingProtocol, 0) !== 0) {
8277
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " +
8278
- "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.");
8279
- _self._buffer[_DYN_CLEAR ]();
8280
- return;
8281
- }
8282
- var endpointUrl = _endpointUrl.replace(/^(https?:)/, "");
8283
- xdr.open("POST", endpointUrl);
8284
- xdr.send(data);
8285
- }
8286
- function _formatErrorMessageXdr(xdr, message) {
8287
- if (xdr) {
8288
- return "XDomainRequest,Response:" + _getResponseText(xdr) || "";
8289
- }
8290
- return message;
8291
- }
8292
8532
  function _getNotifyMgr() {
8293
8533
  var func = "getNotifyMgr";
8294
8534
  if (_self.core[func]) {
@@ -8349,6 +8589,7 @@ var Sender = /** @class */ (function (_super) {
8349
8589
  _disableBeaconSplit = false;
8350
8590
  _xhrSend = null;
8351
8591
  _fallbackSend = null;
8592
+ _sendPostMgr = null;
8352
8593
  objDefine(_self, "_senderConfig", {
8353
8594
  g: function () {
8354
8595
  return objExtend({}, defaultAppInsightsChannelConfig);
@@ -8374,6 +8615,8 @@ var Sender = /** @class */ (function (_super) {
8374
8615
 
8375
8616
  var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
8376
8617
  var _DYN_CONNECTION_STRING = "connectionString";
8618
+ var _DYN_ENDPOINT_URL = "endpointUrl";
8619
+ var _DYN_USER_OVERRIDE_ENDPOI0 = "userOverrideEndpointUrl";
8377
8620
 
8378
8621
  var defaultConfigValues = {
8379
8622
  diagnosticLogInterval: cfgDfValidate(_chkDiagLevel, 10000)
@@ -8414,9 +8657,10 @@ var ApplicationInsights = /** @class */ (function () {
8414
8657
  if (_config[_DYN_CONNECTION_STRING ]) {
8415
8658
  var cs = parseConnectionString(_config[_DYN_CONNECTION_STRING ]);
8416
8659
  var ingest = cs.ingestionendpoint;
8417
- _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);
8418
8661
  _config[_DYN_INSTRUMENTATION_KEY ] = cs.instrumentationkey || _config[_DYN_INSTRUMENTATION_KEY ];
8419
8662
  }
8663
+ _config[_DYN_ENDPOINT_URL ] = _config[_DYN_USER_OVERRIDE_ENDPOI0 ] ? _config[_DYN_USER_OVERRIDE_ENDPOI0 ] : _config[_DYN_ENDPOINT_URL ];
8420
8664
  }));
8421
8665
  core.initialize(_config, [new Sender()]);
8422
8666
  }