@microsoft/applicationinsights-web-basic 3.1.1-nightly3.2403-01 → 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.2403-01.cjs.js → aib.3.1.1-nightly3.2403-02.cjs.js} +592 -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.2403-01.gbl.js → aib.3.1.1-nightly3.2403-02.gbl.js} +594 -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.2403-01.js → aib.3.1.1-nightly3.2403-02.js} +594 -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 +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,5 +1,5 @@
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-02
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -7,8 +7,8 @@
7
7
  typeof exports === "object" && typeof module !== undef ? factory(exports) :
8
8
  typeof define === "function" && define.amd ? define(["exports"], factory) :
9
9
  (function(global){
10
- var nsKey, key, nm, theExports = {}, modName = "es5_aib_3_1_1_nightly3_2403_01", msMod="__ms$mod__";
11
- var mods={}, modDetail=mods[modName]={}, ver="3.1.1-nightly3.2403-01";
10
+ var nsKey, key, nm, theExports = {}, modName = "es5_aib_3_1_1_nightly3_2403_02", msMod="__ms$mod__";
11
+ var mods={}, modDetail=mods[modName]={}, ver="3.1.1-nightly3.2403-02";
12
12
  var baseNs=global, nsKey="Microsoft", baseNs=baseNs[nsKey]=(baseNs[nsKey]||{});
13
13
  // Versioned namespace "Microsoft.ApplicationInsights3"
14
14
  var exportNs=baseNs, nsKey="ApplicationInsights3", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
@@ -1342,7 +1342,7 @@ var _DYN_PUSH$2 = "push";
1342
1342
  var _DYN_SPLICE = "splice";
1343
1343
  var _DYN_HDLR = "hdlr";
1344
1344
  var _DYN_CANCEL = "cancel";
1345
- var _DYN_INITIALIZE = "initialize";
1345
+ var _DYN_INITIALIZE$1 = "initialize";
1346
1346
  var _DYN_IDENTIFIER = "identifier";
1347
1347
  var _DYN_IS_INITIALIZED = "isInitialized";
1348
1348
  var _DYN_GET_PLUGIN = "getPlugin";
@@ -1732,7 +1732,7 @@ function createPromise(executor, timeout) {
1732
1732
  var createAllPromise = _createAllPromise(createPromise);
1733
1733
 
1734
1734
  var UNDEFINED_VALUE$1 = undefined;
1735
- var STR_EMPTY = "";
1735
+ var STR_EMPTY$1 = "";
1736
1736
  var STR_CHANNELS = "channels";
1737
1737
  var STR_CORE = "core";
1738
1738
  var STR_CREATE_PERF_MGR = "createPerfMgr";
@@ -1785,7 +1785,7 @@ function getExceptionName(object) {
1785
1785
  if (isError(object)) {
1786
1786
  return object[_DYN_NAME$2 ];
1787
1787
  }
1788
- return STR_EMPTY;
1788
+ return STR_EMPTY$1;
1789
1789
  }
1790
1790
  function setValue(target, field, value, valChk, srcChk) {
1791
1791
  var theValue = value;
@@ -1988,7 +1988,7 @@ function isIE() {
1988
1988
  var nav = getNavigator();
1989
1989
  if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
1990
1990
  _navUserAgentCheck = nav[_DYN_USER_AGENT ];
1991
- var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
1991
+ var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]();
1992
1992
  _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
1993
1993
  }
1994
1994
  return _isTrident;
@@ -1997,9 +1997,9 @@ function getIEVersion(userAgentStr) {
1997
1997
  if (userAgentStr === void 0) { userAgentStr = null; }
1998
1998
  if (!userAgentStr) {
1999
1999
  var navigator_1 = getNavigator() || {};
2000
- userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]() : STR_EMPTY;
2000
+ userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]() : STR_EMPTY$1;
2001
2001
  }
2002
- var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
2002
+ var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]();
2003
2003
  if (strContains(ua, strMsie)) {
2004
2004
  var doc = getDocument() || {};
2005
2005
  return Math.max(parseInt(ua[_DYN_SPLIT$1 ](strMsie)[1]), (doc[strDocumentMode] || 0));
@@ -2108,7 +2108,7 @@ function newId(maxLength) {
2108
2108
  var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
2109
2109
  var number = random32() >>> 0;
2110
2110
  var chars = 0;
2111
- var result = STR_EMPTY;
2111
+ var result = STR_EMPTY$1;
2112
2112
  while (result[_DYN_LENGTH$2 ] < maxLength) {
2113
2113
  chars++;
2114
2114
  result += base64chars.charAt(number & 0x3F);
@@ -2146,11 +2146,11 @@ function _getCache(data, target) {
2146
2146
  }
2147
2147
  function createUniqueNamespace(name, includeVersion) {
2148
2148
  if (includeVersion === void 0) { includeVersion = false; }
2149
- return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
2149
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY$1) + instanceName);
2150
2150
  }
2151
2151
  function createElmNodeData(name) {
2152
2152
  var data = {
2153
- id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
2153
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY$1) + "." + version),
2154
2154
  accept: function (target) {
2155
2155
  return _canAcceptData(target);
2156
2156
  },
@@ -2903,9 +2903,9 @@ var _logFuncs = (_a$4 = {},
2903
2903
  _a$4);
2904
2904
  function _sanitizeDiagnosticText(text) {
2905
2905
  if (text) {
2906
- return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
2906
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
2907
2907
  }
2908
- return STR_EMPTY;
2908
+ return STR_EMPTY$1;
2909
2909
  }
2910
2910
  function _logToConsole(func, message) {
2911
2911
  var theConsole = getConsole();
@@ -2927,12 +2927,12 @@ var _InternalLogMessage = /** @class */ (function () {
2927
2927
  _self[_DYN_MESSAGE$1 ] =
2928
2928
  (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
2929
2929
  msgId;
2930
- var strProps = STR_EMPTY;
2930
+ var strProps = STR_EMPTY$1;
2931
2931
  if (hasJSON()) {
2932
2932
  strProps = getJSON().stringify(properties);
2933
2933
  }
2934
- var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
2935
- (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
2934
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
2935
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
2936
2936
  _self[_DYN_MESSAGE$1 ] += diagnosticText;
2937
2937
  }
2938
2938
  _InternalLogMessage.dataType = "MessageData";
@@ -3171,7 +3171,7 @@ function createCookieMgr(rootConfig, logger) {
3171
3171
  var result = false;
3172
3172
  if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {
3173
3173
  var values = {};
3174
- var theValue = strTrim(value || STR_EMPTY);
3174
+ var theValue = strTrim(value || STR_EMPTY$1);
3175
3175
  var idx = strIndexOf(theValue, ";");
3176
3176
  if (idx !== -1) {
3177
3177
  theValue = strTrim(strLeft(value, idx));
@@ -3186,11 +3186,11 @@ function createCookieMgr(rootConfig, logger) {
3186
3186
  if (expireMs > 0) {
3187
3187
  var expiry = new Date();
3188
3188
  expiry.setTime(expireMs);
3189
- setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);
3189
+ setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY$1, isTruthy);
3190
3190
  }
3191
3191
  }
3192
3192
  if (!_isIE) {
3193
- setValue(values, "max-age", STR_EMPTY + maxAgeSec, null, isUndefined);
3193
+ setValue(values, "max-age", STR_EMPTY$1 + maxAgeSec, null, isUndefined);
3194
3194
  }
3195
3195
  }
3196
3196
  var location_1 = getLocation();
@@ -3210,7 +3210,7 @@ function createCookieMgr(rootConfig, logger) {
3210
3210
  return result;
3211
3211
  },
3212
3212
  get: function (name) {
3213
- var value = STR_EMPTY;
3213
+ var value = STR_EMPTY$1;
3214
3214
  if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {
3215
3215
  value = _getCookieFn(name);
3216
3216
  }
@@ -3234,7 +3234,7 @@ function createCookieMgr(rootConfig, logger) {
3234
3234
  if (!isIE()) {
3235
3235
  values["max-age"] = "0";
3236
3236
  }
3237
- _delCookieFn(name, _formatCookieValue(STR_EMPTY, values));
3237
+ _delCookieFn(name, _formatCookieValue(STR_EMPTY$1, values));
3238
3238
  result = true;
3239
3239
  }
3240
3240
  return result;
@@ -3267,7 +3267,7 @@ function _extractParts(theValue) {
3267
3267
  if (theValue && theValue[_DYN_LENGTH$2 ]) {
3268
3268
  var parts = strTrim(theValue)[_DYN_SPLIT$1 ](";");
3269
3269
  arrForEach(parts, function (thePart) {
3270
- thePart = strTrim(thePart || STR_EMPTY);
3270
+ thePart = strTrim(thePart || STR_EMPTY$1);
3271
3271
  if (thePart) {
3272
3272
  var idx = strIndexOf(thePart, "=");
3273
3273
  if (idx === -1) {
@@ -3288,22 +3288,22 @@ function _formatDate(theDate, func) {
3288
3288
  return null;
3289
3289
  }
3290
3290
  function _formatCookieValue(value, values) {
3291
- var cookieValue = value || STR_EMPTY;
3291
+ var cookieValue = value || STR_EMPTY$1;
3292
3292
  objForEachKey(values, function (name, theValue) {
3293
- cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY);
3293
+ cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY$1);
3294
3294
  });
3295
3295
  return cookieValue;
3296
3296
  }
3297
3297
  function _getCookieValue(name) {
3298
- var cookieValue = STR_EMPTY;
3298
+ var cookieValue = STR_EMPTY$1;
3299
3299
  !_doc && _getDoc();
3300
3300
  if (_doc.v) {
3301
- var theCookie = _doc.v[strCookie] || STR_EMPTY;
3301
+ var theCookie = _doc.v[strCookie] || STR_EMPTY$1;
3302
3302
  if (_parsedCookieValue !== theCookie) {
3303
3303
  _cookieCache = _extractParts(theCookie);
3304
3304
  _parsedCookieValue = theCookie;
3305
3305
  }
3306
- cookieValue = strTrim(_cookieCache[name] || STR_EMPTY);
3306
+ cookieValue = strTrim(_cookieCache[name] || STR_EMPTY$1);
3307
3307
  }
3308
3308
  return cookieValue;
3309
3309
  }
@@ -3655,7 +3655,7 @@ function initializePlugins(processContext, extensions) {
3655
3655
  }
3656
3656
  arrForEach(initPlugins, function (thePlugin) {
3657
3657
  var core = processContext[STR_CORE ]();
3658
- thePlugin[_DYN_INITIALIZE ](processContext.getCfg(), core, extensions, processContext[_DYN_GET_NEXT ]());
3658
+ thePlugin[_DYN_INITIALIZE$1 ](processContext.getCfg(), core, extensions, processContext[_DYN_GET_NEXT ]());
3659
3659
  pluginState = _getPluginState(thePlugin);
3660
3660
  if (!thePlugin[STR_CORE] && !pluginState[STR_CORE]) {
3661
3661
  pluginState[STR_CORE] = core;
@@ -3999,7 +3999,7 @@ function createTelemetryPluginProxy(plugin, config, core) {
3999
3999
  doPerf(itemCtx[STR_CORE ](), function () { return identifier + ":" + name; }, function () {
4000
4000
  hasRunContext[chainId] = true;
4001
4001
  try {
4002
- var nextId = nextProxy ? nextProxy._id : STR_EMPTY;
4002
+ var nextId = nextProxy ? nextProxy._id : STR_EMPTY$1;
4003
4003
  if (nextId) {
4004
4004
  hasRunContext[nextId] = false;
4005
4005
  }
@@ -4144,7 +4144,7 @@ var BaseTelemetryPlugin = /** @class */ (function () {
4144
4144
  var _hookContainer;
4145
4145
  _initDefaults();
4146
4146
  dynamicProto(BaseTelemetryPlugin, _self, function (_self) {
4147
- _self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
4147
+ _self[_DYN_INITIALIZE$1 ] = function (config, core, extensions, pluginChain) {
4148
4148
  _setDefaults(config, core, pluginChain);
4149
4149
  _isinitialized = true;
4150
4150
  };
@@ -4363,7 +4363,7 @@ function _validateExtensions(logger, channelPriority, allExtensions) {
4363
4363
  var channels = [];
4364
4364
  var extPriorities = {};
4365
4365
  arrForEach(allExtensions, function (ext) {
4366
- if (isNullOrUndefined(ext) || isNullOrUndefined(ext[_DYN_INITIALIZE ])) {
4366
+ if (isNullOrUndefined(ext) || isNullOrUndefined(ext[_DYN_INITIALIZE$1 ])) {
4367
4367
  throwError(strValidationError);
4368
4368
  }
4369
4369
  var extPriority = ext[STR_PRIORITY ];
@@ -4488,7 +4488,7 @@ var AppInsightsCore = /** @class */ (function () {
4488
4488
  return [_extensions];
4489
4489
  };
4490
4490
  _self[_DYN_IS_INITIALIZED ] = function () { return _isInitialized; };
4491
- _self[_DYN_INITIALIZE ] = function (config, extensions, logger, notificationManager) {
4491
+ _self[_DYN_INITIALIZE$1 ] = function (config, extensions, logger, notificationManager) {
4492
4492
  if (_isUnloading) {
4493
4493
  throwError(strSdkUnloadingError);
4494
4494
  }
@@ -4851,7 +4851,7 @@ var AppInsightsCore = /** @class */ (function () {
4851
4851
  }
4852
4852
  _pluginVersionString = _pluginVersionStringArr.join(";");
4853
4853
  }
4854
- return _pluginVersionString || STR_EMPTY;
4854
+ return _pluginVersionString || STR_EMPTY$1;
4855
4855
  }
4856
4856
  });
4857
4857
  objDefine(_self, "logger", {
@@ -5164,16 +5164,16 @@ var elmNodeData = createElmNodeData("events");
5164
5164
  var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
5165
5165
  function _normalizeNamespace(name) {
5166
5166
  if (name && name[_DYN_REPLACE ]) {
5167
- return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY);
5167
+ return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY$1);
5168
5168
  }
5169
5169
  return name;
5170
5170
  }
5171
5171
  function _getEvtNamespace(eventName, evtNamespace) {
5172
5172
  var _a;
5173
5173
  if (evtNamespace) {
5174
- var theNamespace_1 = STR_EMPTY;
5174
+ var theNamespace_1 = STR_EMPTY$1;
5175
5175
  if (isArray(evtNamespace)) {
5176
- theNamespace_1 = STR_EMPTY;
5176
+ theNamespace_1 = STR_EMPTY$1;
5177
5177
  arrForEach(evtNamespace, function (name) {
5178
5178
  name = _normalizeNamespace(name);
5179
5179
  if (name) {
@@ -5191,13 +5191,13 @@ function _getEvtNamespace(eventName, evtNamespace) {
5191
5191
  if (theNamespace_1[0] !== ".") {
5192
5192
  theNamespace_1 = "." + theNamespace_1;
5193
5193
  }
5194
- eventName = (eventName || STR_EMPTY) + theNamespace_1;
5194
+ eventName = (eventName || STR_EMPTY$1) + theNamespace_1;
5195
5195
  }
5196
5196
  }
5197
- var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
5197
+ var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY$1) || []);
5198
5198
  return _a = {},
5199
5199
  _a[_DYN_TYPE ] = parsedEvent[1],
5200
- _a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT$1 ](".").sort()).join("."),
5200
+ _a.ns = ((parsedEvent[2] || STR_EMPTY$1).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY$1)[_DYN_SPLIT$1 ](".").sort()).join("."),
5201
5201
  _a;
5202
5202
  }
5203
5203
  function _getRegisteredEvents(target, evtName, addDefault) {
@@ -5346,15 +5346,21 @@ var RequestHeaders = createValueMap({
5346
5346
  var _DYN_SPLIT = "split";
5347
5347
  var _DYN_LENGTH$1 = "length";
5348
5348
  var _DYN_TO_LOWER_CASE = "toLowerCase";
5349
+ var _DYN_LOCATION = "location";
5349
5350
  var _DYN_INGESTIONENDPOINT = "ingestionendpoint";
5350
5351
  var _DYN_TO_STRING$1 = "toString";
5351
5352
  var _DYN_PUSH$1 = "push";
5353
+ var _DYN_URL_STRING = "urlString";
5354
+ var _DYN_DATA$1 = "data";
5355
+ var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
5356
+ var _DYN_REASON = "reason";
5357
+ var _DYN_MESSAGE = "message";
5352
5358
  var _DYN_REMOVE_ITEM = "removeItem";
5353
5359
  var _DYN_NAME$1 = "name";
5354
- var _DYN_MESSAGE = "message";
5355
5360
  var _DYN_COUNT$1 = "count";
5356
5361
  var _DYN_STRINGIFY$1 = "stringify";
5357
5362
  var _DYN_PATHNAME = "pathname";
5363
+ var _DYN_ITEMS_RECEIVED$1 = "itemsReceived";
5358
5364
  var _DYN_EXCEPTIONS = "exceptions";
5359
5365
  var _DYN_PARSED_STACK = "parsedStack";
5360
5366
  var _DYN_PROPERTIES = "properties";
@@ -5576,6 +5582,54 @@ function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName)
5576
5582
  data: data
5577
5583
  };
5578
5584
  }
5585
+ function getResponseText(xhr) {
5586
+ try {
5587
+ return xhr.responseText;
5588
+ }
5589
+ catch (e) {
5590
+ }
5591
+ return null;
5592
+ }
5593
+ function formatErrorMessageXdr(xdr, message) {
5594
+ if (xdr) {
5595
+ return "XDomainRequest,Response:" + getResponseText(xdr) || "";
5596
+ }
5597
+ return message;
5598
+ }
5599
+ function formatErrorMessageXhr(xhr, message) {
5600
+ if (xhr) {
5601
+ return "XMLHttpRequest,Status:" + xhr.status + ",Response:" + getResponseText(xhr) || xhr.response || "";
5602
+ }
5603
+ return message;
5604
+ }
5605
+ function prependTransports(theTransports, newTransports) {
5606
+ if (newTransports) {
5607
+ if (isNumber(newTransports)) {
5608
+ theTransports = [newTransports].concat(theTransports);
5609
+ }
5610
+ else if (isArray(newTransports)) {
5611
+ theTransports = newTransports.concat(theTransports);
5612
+ }
5613
+ }
5614
+ return theTransports;
5615
+ }
5616
+ function parseResponse(response, diagLog) {
5617
+ try {
5618
+ if (response && response !== "") {
5619
+ var result = getJSON().parse(response);
5620
+ if (result && result[_DYN_ITEMS_RECEIVED$1 ] && result[_DYN_ITEMS_RECEIVED$1 ] >= result.itemsAccepted &&
5621
+ result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH$1 ]) {
5622
+ return result;
5623
+ }
5624
+ }
5625
+ }
5626
+ catch (e) {
5627
+ _throwInternal(diagLog, 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
5628
+ response: response
5629
+ });
5630
+ }
5631
+ return null;
5632
+ }
5579
5633
 
5580
5634
  var StorageType = createEnumStyle({
5581
5635
  LocalStorage: 0 ,
@@ -5664,7 +5718,7 @@ function parseConnectionString(connectionString) {
5664
5718
  }, {});
5665
5719
  if (objKeys(result)[_DYN_LENGTH$1 ] > 0) {
5666
5720
  if (result.endpointsuffix) {
5667
- var locationPrefix = result.location ? result.location + "." : "";
5721
+ var locationPrefix = result[_DYN_LOCATION ] ? result[_DYN_LOCATION ] + "." : "";
5668
5722
  result[_DYN_INGESTIONENDPOINT ] = result[_DYN_INGESTIONENDPOINT ] || ("https://" + locationPrefix + "dc." + result.endpointsuffix);
5669
5723
  }
5670
5724
  result[_DYN_INGESTIONENDPOINT ] = result[_DYN_INGESTIONENDPOINT ] || DEFAULT_BREEZE_ENDPOINT;
@@ -5683,7 +5737,7 @@ var Envelope = /** @class */ (function () {
5683
5737
  _self.sampleRate = 100.0;
5684
5738
  _self.tags = {};
5685
5739
  _self[_DYN_NAME$1 ] = dataSanitizeString(logger, name) || strNotSpecified;
5686
- _self.data = data;
5740
+ _self[_DYN_DATA$1 ] = data;
5687
5741
  _self.time = toISOString(new Date());
5688
5742
  _self.aiDataContract = {
5689
5743
  time: 1 ,
@@ -5840,8 +5894,8 @@ function _getStackFromErrorObj(errorObj) {
5840
5894
  else if (getWindow() && getWindow()["opera"] && errorObj[strMessage]) {
5841
5895
  details = _getOperaStack(errorObj[_DYN_MESSAGE ]);
5842
5896
  }
5843
- else if (errorObj["reason"] && errorObj.reason[strStack]) {
5844
- details = _convertStackObj(errorObj.reason[strStack]);
5897
+ else if (errorObj["reason"] && errorObj[_DYN_REASON ][strStack]) {
5898
+ details = _convertStackObj(errorObj[_DYN_REASON ][strStack]);
5845
5899
  }
5846
5900
  else if (isString(errorObj)) {
5847
5901
  details = _convertStackObj(errorObj);
@@ -6312,7 +6366,7 @@ var RemoteDependencyData = /** @class */ (function () {
6312
6366
  _self.resultCode = resultCode + "";
6313
6367
  _self.type = dataSanitizeString(logger, requestAPI);
6314
6368
  var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);
6315
- _self.data = dataSanitizeUrl(logger, commandName) || dependencyFields.data;
6369
+ _self[_DYN_DATA$1 ] = dataSanitizeUrl(logger, commandName) || dependencyFields[_DYN_DATA$1 ];
6316
6370
  _self.target = dataSanitizeString(logger, dependencyFields.target);
6317
6371
  if (correlationContext) {
6318
6372
  _self.target = "".concat(_self.target, " | ").concat(correlationContext);
@@ -6486,6 +6540,360 @@ var ContextTagKeys = /** @class */ (function (_super) {
6486
6540
 
6487
6541
  var CtxTagKeys = new ContextTagKeys();
6488
6542
 
6543
+ var STR_EMPTY = "";
6544
+ var SenderPostManager = /** @class */ (function () {
6545
+ function SenderPostManager() {
6546
+ var _syncFetchPayload = 0;
6547
+ var _enableSendPromise;
6548
+ var _isInitialized;
6549
+ var _diagLog;
6550
+ var _isOneDs;
6551
+ var _onCompleteFuncs;
6552
+ var _disableCredentials;
6553
+ var _fallbackInst;
6554
+ var _disableXhr;
6555
+ var _disableBeacon;
6556
+ var _disableBeaconSync;
6557
+ dynamicProto(SenderPostManager, this, function (_self, _base) {
6558
+ var _sendCredentials = true;
6559
+ _initDefaults();
6560
+ _self.initialize = function (config, diagLog) {
6561
+ _diagLog = diagLog;
6562
+ if (_isInitialized) {
6563
+ _throwInternal(_diagLog, 1 , 28 , "Sender is already initialized");
6564
+ }
6565
+ _self.SetConfig(config);
6566
+ _isInitialized = true;
6567
+ };
6568
+ _self["_getDbgPlgTargets"] = function () {
6569
+ return [_isInitialized, _isOneDs, _disableCredentials, _enableSendPromise];
6570
+ };
6571
+ _self.SetConfig = function (config) {
6572
+ try {
6573
+ _onCompleteFuncs = config.senderOnCompleteCallBack || {};
6574
+ _disableCredentials = !!config.disableCredentials;
6575
+ _isOneDs = !!config.isOneDs;
6576
+ _enableSendPromise = !!config.enableSendPromise;
6577
+ _disableXhr = !!config.disableXhr;
6578
+ _disableBeacon = !!config.disableBeacon;
6579
+ _disableBeaconSync = !!config.disableBeaconSync;
6580
+ _fallbackInst = { sendPOST: _xhrSender };
6581
+ if (_disableCredentials) {
6582
+ var location_1 = getLocation();
6583
+ if (location_1 && location_1.protocol && location_1.protocol[_DYN_TO_LOWER_CASE ]() === "file:") {
6584
+ _sendCredentials = false;
6585
+ }
6586
+ }
6587
+ return true;
6588
+ }
6589
+ catch (e) {
6590
+ }
6591
+ return false;
6592
+ };
6593
+ _self.getSyncFetchPayload = function () {
6594
+ return _syncFetchPayload;
6595
+ };
6596
+ _self.getXhrInst = function (transports, sync) {
6597
+ if (transports && transports[_DYN_LENGTH$1 ]) {
6598
+ return _getSenderInterface(transports, sync);
6599
+ }
6600
+ return null;
6601
+ };
6602
+ _self.getFallbackInst = function () {
6603
+ return _fallbackInst;
6604
+ };
6605
+ _self._doTeardown = function (unloadCtx, unloadState) {
6606
+ _initDefaults();
6607
+ };
6608
+ function _onSuccess(res, onComplete) {
6609
+ _doOnComplete(onComplete, 200, {}, res);
6610
+ }
6611
+ function _onError(message, onComplete) {
6612
+ _throwInternal(_diagLog, 2 , 26 , "Failed to send telemetry.", { message: message });
6613
+ _doOnComplete(onComplete, 400, {});
6614
+ }
6615
+ function _onNoPayloadUrl(onComplete) {
6616
+ _onError("No endpoint url is provided for the batch", onComplete);
6617
+ }
6618
+ function _getSenderInterface(transports, syncSupport) {
6619
+ var transportType = null;
6620
+ var sendPostFunc = null;
6621
+ var lp = 0;
6622
+ while (sendPostFunc == null && lp < transports[_DYN_LENGTH$1 ]) {
6623
+ transportType = transports[lp];
6624
+ if (!_disableXhr && transportType === 1 ) {
6625
+ if (useXDomainRequest()) {
6626
+ sendPostFunc = _xdrSender;
6627
+ }
6628
+ else if (isXhrSupported()) {
6629
+ sendPostFunc = _xhrSender;
6630
+ }
6631
+ }
6632
+ else if (transportType === 2 && isFetchSupported(syncSupport)) {
6633
+ sendPostFunc = _doFetchSender;
6634
+ }
6635
+ else if (transportType === 3 && isBeaconsSupported() && (syncSupport ? !_disableBeaconSync : !_disableBeacon)) {
6636
+ sendPostFunc = _beaconSender;
6637
+ }
6638
+ lp++;
6639
+ }
6640
+ if (sendPostFunc) {
6641
+ return {
6642
+ sendPOST: sendPostFunc
6643
+ };
6644
+ }
6645
+ return null;
6646
+ }
6647
+ function _doOnComplete(oncomplete, status, headers, response) {
6648
+ try {
6649
+ oncomplete && oncomplete(status, headers, response);
6650
+ }
6651
+ catch (e) {
6652
+ }
6653
+ }
6654
+ function _doBeaconSend(payload, oncomplete) {
6655
+ var nav = getNavigator();
6656
+ var url = payload[_DYN_URL_STRING ];
6657
+ if (!url) {
6658
+ _onNoPayloadUrl(oncomplete);
6659
+ return true;
6660
+ }
6661
+ var data = payload[_DYN_DATA$1 ];
6662
+ var plainTextBatch = new Blob([data], { type: "text/plain;charset=UTF-8" });
6663
+ var queued = nav.sendBeacon(url, plainTextBatch);
6664
+ return queued;
6665
+ }
6666
+ function _beaconSender(payload, oncomplete, sync) {
6667
+ var data = payload[_DYN_DATA$1 ];
6668
+ if (data) {
6669
+ if (!_doBeaconSend(payload, oncomplete)) {
6670
+ var onRetry = _onCompleteFuncs && _onCompleteFuncs.beaconOnRetry;
6671
+ if (onRetry && isFunction(onRetry)) {
6672
+ onRetry(payload, oncomplete, _doBeaconSend);
6673
+ }
6674
+ else {
6675
+ _fallbackInst && _fallbackInst.sendPOST(payload, oncomplete, true);
6676
+ _throwInternal(_diagLog, 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
6677
+ }
6678
+ }
6679
+ else {
6680
+ _onSuccess(null, oncomplete);
6681
+ }
6682
+ }
6683
+ return;
6684
+ }
6685
+ function _xhrSender(payload, oncomplete, sync) {
6686
+ var thePromise;
6687
+ var resolveFunc;
6688
+ var rejectFunc;
6689
+ var headers = payload.headers || {};
6690
+ if (!sync && _enableSendPromise) {
6691
+ thePromise = createPromise(function (resolve, reject) {
6692
+ resolveFunc = resolve;
6693
+ rejectFunc = reject;
6694
+ });
6695
+ }
6696
+ var xhr = new XMLHttpRequest();
6697
+ var endPointUrl = payload[_DYN_URL_STRING ];
6698
+ if (!endPointUrl) {
6699
+ _onNoPayloadUrl(oncomplete);
6700
+ resolveFunc && resolveFunc(false);
6701
+ return;
6702
+ }
6703
+ try {
6704
+ xhr[DisabledPropertyName] = true;
6705
+ }
6706
+ catch (e) {
6707
+ }
6708
+ xhr.open("POST", endPointUrl, !sync);
6709
+ xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
6710
+ if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
6711
+ xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
6712
+ }
6713
+ arrForEach(objKeys(headers), function (headerName) {
6714
+ xhr[_DYN_SET_REQUEST_HEADER ](headerName, headers[headerName]);
6715
+ });
6716
+ xhr.onreadystatechange = function () {
6717
+ var response = getResponseText(xhr);
6718
+ var onReadyFunc = _onCompleteFuncs && _onCompleteFuncs.xhrOnComplete;
6719
+ var onReadyFuncExist = onReadyFunc && isFunction(onReadyFunc);
6720
+ if (onReadyFuncExist) {
6721
+ onReadyFunc(xhr, oncomplete, payload);
6722
+ }
6723
+ if (xhr.readyState === 4) {
6724
+ if (!onReadyFuncExist) {
6725
+ _doOnComplete(oncomplete, xhr.status, {}, response);
6726
+ }
6727
+ resolveFunc && resolveFunc(true);
6728
+ }
6729
+ };
6730
+ xhr.onerror = function (event) {
6731
+ _doOnComplete(oncomplete, 400, {}, formatErrorMessageXhr(xhr));
6732
+ rejectFunc && rejectFunc(event);
6733
+ };
6734
+ xhr.ontimeout = function () {
6735
+ _doOnComplete(oncomplete, 500, {}, formatErrorMessageXhr(xhr));
6736
+ resolveFunc && resolveFunc(false);
6737
+ };
6738
+ xhr.send(payload[_DYN_DATA$1 ]);
6739
+ return thePromise;
6740
+ }
6741
+ function _doFetchSender(payload, oncomplete, sync) {
6742
+ var _a;
6743
+ var endPointUrl = payload[_DYN_URL_STRING ];
6744
+ var batch = payload[_DYN_DATA$1 ];
6745
+ var plainTextBatch = new Blob([batch], { type: "application/json" });
6746
+ var thePromise;
6747
+ var resolveFunc;
6748
+ var rejectFunc;
6749
+ var requestHeaders = new Headers();
6750
+ var batchLength = batch[_DYN_LENGTH$1 ];
6751
+ var ignoreResponse = false;
6752
+ var responseHandled = false;
6753
+ var headers = payload.headers || {};
6754
+ if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
6755
+ requestHeaders.append(RequestHeaders[6 ], RequestHeaders[7 ]);
6756
+ }
6757
+ arrForEach(objKeys(headers), function (headerName) {
6758
+ requestHeaders.append(headerName, headers[headerName]);
6759
+ });
6760
+ var init = (_a = {
6761
+ method: "POST",
6762
+ headers: requestHeaders,
6763
+ body: plainTextBatch
6764
+ },
6765
+ _a[DisabledPropertyName] = true
6766
+ ,
6767
+ _a);
6768
+ if (_sendCredentials && _isOneDs) {
6769
+ init.credentials = "include";
6770
+ }
6771
+ if (sync) {
6772
+ init.keepalive = true;
6773
+ ignoreResponse = true;
6774
+ _syncFetchPayload += batchLength;
6775
+ }
6776
+ var request = new Request(endPointUrl, init);
6777
+ try {
6778
+ request[DisabledPropertyName] = true;
6779
+ }
6780
+ catch (e) {
6781
+ }
6782
+ if (!sync && _enableSendPromise) {
6783
+ thePromise = createPromise(function (resolve, reject) {
6784
+ resolveFunc = resolve;
6785
+ rejectFunc = reject;
6786
+ });
6787
+ }
6788
+ if (!endPointUrl) {
6789
+ _onNoPayloadUrl(oncomplete);
6790
+ resolveFunc && resolveFunc(false);
6791
+ return;
6792
+ }
6793
+ try {
6794
+ doAwaitResponse(fetch(request), function (result) {
6795
+ if (sync) {
6796
+ _syncFetchPayload -= batchLength;
6797
+ batchLength = 0;
6798
+ }
6799
+ if (!responseHandled) {
6800
+ responseHandled = true;
6801
+ if (!result.rejected) {
6802
+ var response_1 = result.value;
6803
+ if (!response_1.ok) {
6804
+ _doOnComplete(oncomplete, 400, {}, response_1.statusText);
6805
+ resolveFunc && resolveFunc(false);
6806
+ }
6807
+ else {
6808
+ doAwaitResponse(response_1.text(), function (resp) {
6809
+ var status = response_1.status;
6810
+ var onCompleteFunc = _onCompleteFuncs.fetchOnComplete;
6811
+ if (onCompleteFunc && isFunction(onCompleteFunc)) {
6812
+ onCompleteFunc(response_1, oncomplete, resp.value || STR_EMPTY, payload);
6813
+ }
6814
+ else {
6815
+ _doOnComplete(oncomplete, status, {}, resp.value || STR_EMPTY);
6816
+ }
6817
+ resolveFunc && resolveFunc(true);
6818
+ });
6819
+ }
6820
+ }
6821
+ else {
6822
+ _doOnComplete(oncomplete, 400, {}, result[_DYN_REASON ] && result[_DYN_REASON ][_DYN_MESSAGE ]);
6823
+ rejectFunc && rejectFunc(result[_DYN_REASON ]);
6824
+ }
6825
+ }
6826
+ });
6827
+ }
6828
+ catch (e) {
6829
+ if (!responseHandled) {
6830
+ _doOnComplete(oncomplete, 400, {}, dumpObj(e));
6831
+ rejectFunc && rejectFunc(e);
6832
+ }
6833
+ }
6834
+ if (ignoreResponse && !responseHandled) {
6835
+ responseHandled = true;
6836
+ _doOnComplete(oncomplete, 200, {});
6837
+ resolveFunc && resolveFunc(true);
6838
+ }
6839
+ return thePromise;
6840
+ }
6841
+ function _xdrSender(payload, oncomplete, sync) {
6842
+ var _window = getWindow();
6843
+ var xdr = new XDomainRequest();
6844
+ var data = payload[_DYN_DATA$1 ];
6845
+ xdr.onload = function () {
6846
+ var response = getResponseText(xdr);
6847
+ var onloadFunc = _onCompleteFuncs && _onCompleteFuncs.xdrOnComplete;
6848
+ if (onloadFunc && isFunction(onloadFunc)) {
6849
+ onloadFunc(xdr, oncomplete, payload);
6850
+ }
6851
+ else {
6852
+ _doOnComplete(oncomplete, 200, {}, response);
6853
+ }
6854
+ };
6855
+ xdr.onerror = function () {
6856
+ _doOnComplete(oncomplete, 400, {}, formatErrorMessageXdr(xdr));
6857
+ };
6858
+ xdr.ontimeout = function () {
6859
+ _doOnComplete(oncomplete, 500, {});
6860
+ };
6861
+ xdr.onprogress = function () { };
6862
+ var hostingProtocol = _window && _window[_DYN_LOCATION ] && _window[_DYN_LOCATION ].protocol || "";
6863
+ var endpoint = payload[_DYN_URL_STRING ];
6864
+ if (!endpoint) {
6865
+ _onNoPayloadUrl(oncomplete);
6866
+ return;
6867
+ }
6868
+ if (endpoint.lastIndexOf(hostingProtocol, 0) !== 0) {
6869
+ var msg = "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.";
6870
+ _throwInternal(_diagLog, 2 , 40 , ". " + msg);
6871
+ _onError(msg, oncomplete);
6872
+ return;
6873
+ }
6874
+ var endpointUrl = endpoint.replace(/^(https?:)/, "");
6875
+ xdr.open("POST", endpointUrl);
6876
+ xdr.send(data);
6877
+ }
6878
+ function _initDefaults() {
6879
+ _syncFetchPayload = 0;
6880
+ _isInitialized = false;
6881
+ _enableSendPromise = false;
6882
+ _diagLog = null;
6883
+ _isOneDs = null;
6884
+ _onCompleteFuncs = null;
6885
+ _disableCredentials = null;
6886
+ _fallbackInst = null;
6887
+ _disableXhr = false;
6888
+ _disableBeacon = false;
6889
+ _disableBeaconSync = false;
6890
+ }
6891
+ });
6892
+ }
6893
+ SenderPostManager.__ieDyn=1;
6894
+ return SenderPostManager;
6895
+ }());
6896
+
6489
6897
  function _disableEvents(target, evtNamespace) {
6490
6898
  eventOff(target, null, null, evtNamespace);
6491
6899
  }
@@ -6624,43 +7032,42 @@ var _DYN_EVENTS_LIMIT_IN_MEM = "eventsLimitInMem";
6624
7032
  var _DYN_PUSH = "push";
6625
7033
  var _DYN_EMIT_LINE_DELIMITED_0 = "emitLineDelimitedJson";
6626
7034
  var _DYN_CLEAR = "clear";
6627
- var _DYN_BATCH_PAYLOADS = "batchPayloads";
6628
7035
  var _DYN_CREATE_NEW = "createNew";
6629
7036
  var _DYN_MARK_AS_SENT = "markAsSent";
6630
7037
  var _DYN_CLEAR_SENT = "clearSent";
6631
7038
  var _DYN_BUFFER_OVERRIDE = "bufferOverride";
6632
7039
  var _DYN__BUFFER__KEY = "BUFFER_KEY";
6633
7040
  var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
6634
- var _DYN_CONCAT = "concat";
6635
7041
  var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
6636
- var _DYN_SEND_POST = "sendPOST";
6637
7042
  var _DYN_TRIGGER_SEND = "triggerSend";
6638
7043
  var _DYN_DIAG_LOG = "diagLog";
7044
+ var _DYN_INITIALIZE = "initialize";
6639
7045
  var _DYN__SENDER = "_sender";
6640
7046
  var _DYN_CUSTOM_HEADERS = "customHeaders";
6641
7047
  var _DYN_MAX_BATCH_SIZE_IN_BY1 = "maxBatchSizeInBytes";
6642
7048
  var _DYN_ONUNLOAD_DISABLE_BEA2 = "onunloadDisableBeacon";
6643
7049
  var _DYN_IS_BEACON_API_DISABL3 = "isBeaconApiDisabled";
6644
7050
  var _DYN_ALWAYS_USE_XHR_OVERR4 = "alwaysUseXhrOverride";
7051
+ var _DYN_DISABLE_XHR = "disableXhr";
6645
7052
  var _DYN_ENABLE_SESSION_STORA5 = "enableSessionStorageBuffer";
6646
7053
  var _DYN__BUFFER = "_buffer";
6647
7054
  var _DYN_ONUNLOAD_DISABLE_FET6 = "onunloadDisableFetch";
6648
7055
  var _DYN_DISABLE_SEND_BEACON_7 = "disableSendBeaconSplit";
6649
7056
  var _DYN_INSTRUMENTATION_KEY$1 = "instrumentationKey";
7057
+ var _DYN_ENABLE_SEND_PROMISE = "enableSendPromise";
7058
+ var _DYN_GET_XHR_INST = "getXhrInst";
6650
7059
  var _DYN_UNLOAD_TRANSPORTS = "unloadTransports";
6651
7060
  var _DYN_CONVERT_UNDEFINED = "convertUndefined";
6652
7061
  var _DYN_MAX_BATCH_INTERVAL = "maxBatchInterval";
6653
7062
  var _DYN_SERIALIZE = "serialize";
6654
- var _DYN__XHR_READY_STATE_CHA8 = "_xhrReadyStateChange";
6655
7063
  var _DYN__ON_ERROR = "_onError";
6656
7064
  var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
6657
7065
  var _DYN__ON_SUCCESS = "_onSuccess";
6658
7066
  var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
6659
7067
  var _DYN_ITEMS_RECEIVED = "itemsReceived";
7068
+ var _DYN_ORI_PAYLOAD = "oriPayload";
6660
7069
  var _DYN_BASE_TYPE = "baseType";
6661
7070
  var _DYN_SAMPLE_RATE = "sampleRate";
6662
- var _DYN_ORI_PAYLOAD = "oriPayload";
6663
- var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
6664
7071
  var _DYN_EVENTS_SEND_REQUEST = "eventsSendRequest";
6665
7072
  var _DYN_GET_SAMPLING_SCORE = "getSamplingScore";
6666
7073
  var _DYN_GET_HASH_CODE_SCORE = "getHashCodeScore";
@@ -6774,7 +7181,7 @@ function EnvelopeCreatorInit(logger, telemetryItem) {
6774
7181
  }
6775
7182
  }
6776
7183
  var EnvelopeCreator = {
6777
- Version: '3.1.1-nightly3.2403-01'
7184
+ Version: '3.1.1-nightly3.2403-02'
6778
7185
  };
6779
7186
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
6780
7187
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -6965,7 +7372,7 @@ var BaseSendBuffer = /** @class */ (function () {
6965
7372
  _self.getItems = function () {
6966
7373
  return _buffer.slice(0);
6967
7374
  };
6968
- _self[_DYN_BATCH_PAYLOADS ] = function (payload) {
7375
+ _self.batchPayloads = function (payload) {
6969
7376
  if (payload && payload[_DYN_LENGTH ] > 0) {
6970
7377
  var batch = config[_DYN_EMIT_LINE_DELIMITED_0 ] ?
6971
7378
  payload.join("\n") :
@@ -7015,7 +7422,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
7015
7422
  dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {
7016
7423
  var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ]);
7017
7424
  var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
7018
- var buffer = _self._set(bufferItems[_DYN_CONCAT ](notDeliveredItems));
7425
+ var buffer = _self._set(bufferItems.concat(notDeliveredItems));
7019
7426
  if (buffer[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
7020
7427
  buffer[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
7021
7428
  }
@@ -7042,7 +7449,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
7042
7449
  _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], _self._set(_removePayloadsFromBuffer(payload, _self[_DYN__GET ]())));
7043
7450
  var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
7044
7451
  if (sentElements instanceof Array && payload instanceof Array) {
7045
- sentElements = sentElements[_DYN_CONCAT ](payload);
7452
+ sentElements = sentElements.concat(payload);
7046
7453
  if (sentElements[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
7047
7454
  _throwInternal(logger, 1 , 67 , "Sent buffer reached its maximum size: " + sentElements[_DYN_LENGTH ], true);
7048
7455
  sentElements[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
@@ -7275,7 +7682,7 @@ var HashCodeScoreGenerator = /** @class */ (function () {
7275
7682
  return 0;
7276
7683
  }
7277
7684
  while (input[_DYN_LENGTH ] < MIN_INPUT_LENGTH) {
7278
- input = input[_DYN_CONCAT ](input);
7685
+ input = input.concat(input);
7279
7686
  }
7280
7687
  var hash = 5381;
7281
7688
  for (var i = 0; i < input[_DYN_LENGTH ]; ++i) {
@@ -7355,18 +7762,7 @@ function _getResponseText(xhr) {
7355
7762
  return null;
7356
7763
  }
7357
7764
  function isOverrideFn(httpXHROverride) {
7358
- return httpXHROverride && httpXHROverride[_DYN_SEND_POST ];
7359
- }
7360
- function _prependTransports(theTransports, newTransports) {
7361
- if (newTransports) {
7362
- if (isNumber(newTransports)) {
7363
- theTransports = [newTransports][_DYN_CONCAT ](theTransports);
7364
- }
7365
- else if (isArray(newTransports)) {
7366
- theTransports = newTransports[_DYN_CONCAT ](theTransports);
7367
- }
7368
- }
7369
- return theTransports;
7765
+ return httpXHROverride && httpXHROverride.sendPOST;
7370
7766
  }
7371
7767
  var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
7372
7768
  endpointUrl: cfgDfValidate(isTruthy, DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH)
@@ -7379,7 +7775,7 @@ var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
7379
7775
  _a.isRetryDisabled = cfgDfBoolean(),
7380
7776
  _a[_DYN_IS_BEACON_API_DISABL3 ] = cfgDfBoolean(true),
7381
7777
  _a[_DYN_DISABLE_SEND_BEACON_7 ] = cfgDfBoolean(true),
7382
- _a.disableXhr = cfgDfBoolean(),
7778
+ _a[_DYN_DISABLE_XHR ] = cfgDfBoolean(),
7383
7779
  _a[_DYN_ONUNLOAD_DISABLE_FET6 ] = cfgDfBoolean(),
7384
7780
  _a[_DYN_ONUNLOAD_DISABLE_BEA2 ] = cfgDfBoolean(),
7385
7781
  _a[_DYN_INSTRUMENTATION_KEY$1 ] = UNDEFINED_VALUE,
@@ -7444,6 +7840,7 @@ var Sender = /** @class */ (function (_super) {
7444
7840
  var _xhrSend;
7445
7841
  var _fallbackSend;
7446
7842
  var _disableBeaconSplit;
7843
+ var _sendPostMgr;
7447
7844
  dynamicProto(Sender, _this, function (_self, _base) {
7448
7845
  _initDefaults();
7449
7846
  _self.pause = function () {
@@ -7488,11 +7885,11 @@ var Sender = /** @class */ (function (_super) {
7488
7885
  _self.addHeader = function (name, value) {
7489
7886
  _headers[name] = value;
7490
7887
  };
7491
- _self.initialize = function (config, core, extensions, pluginChain) {
7888
+ _self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
7492
7889
  if (_self.isInitialized()) {
7493
7890
  _throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 28 , "Sender is already initialized");
7494
7891
  }
7495
- _base.initialize(config, core, extensions, pluginChain);
7892
+ _base[_DYN_INITIALIZE ](config, core, extensions, pluginChain);
7496
7893
  var identifier = _self.identifier;
7497
7894
  _serializer = new Serializer(core.logger);
7498
7895
  _consecutiveErrors = 0;
@@ -7527,7 +7924,7 @@ var Sender = /** @class */ (function (_super) {
7527
7924
  _beaconOnUnloadSupported = senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ] === false && isBeaconsSupported();
7528
7925
  _beaconNormalSupported = senderConfig[_DYN_IS_BEACON_API_DISABL3 ] === false && isBeaconsSupported();
7529
7926
  _alwaysUseCustomSend = senderConfig[_DYN_ALWAYS_USE_XHR_OVERR4 ];
7530
- _disableXhr = !!senderConfig.disableXhr;
7927
+ _disableXhr = !!senderConfig[_DYN_DISABLE_XHR ];
7531
7928
  var bufferOverride = senderConfig[_DYN_BUFFER_OVERRIDE ];
7532
7929
  var canUseSessionStorage = !!senderConfig[_DYN_ENABLE_SESSION_STORA5 ] &&
7533
7930
  (!!bufferOverride || utlCanUseSessionStorage());
@@ -7569,13 +7966,21 @@ var Sender = /** @class */ (function (_super) {
7569
7966
  else {
7570
7967
  _customHeaders = null;
7571
7968
  }
7572
- _enableSendPromise = senderConfig.enableSendPromise;
7969
+ _enableSendPromise = senderConfig[_DYN_ENABLE_SEND_PROMISE ];
7970
+ var sendPostConfig = _getSendPostMgrConfig();
7971
+ if (!_sendPostMgr) {
7972
+ _sendPostMgr = new SenderPostManager();
7973
+ _sendPostMgr[_DYN_INITIALIZE ](sendPostConfig, diagLog);
7974
+ }
7975
+ else {
7976
+ _sendPostMgr.SetConfig(sendPostConfig);
7977
+ }
7573
7978
  var customInterface = senderConfig.httpXHROverride;
7574
7979
  var httpInterface = null;
7575
7980
  var syncInterface = null;
7576
- var theTransports = _prependTransports([3 , 1 , 2 ], senderConfig.transports);
7577
- httpInterface = _getSenderInterface(theTransports, false);
7578
- var xhrInterface = { sendPOST: _xhrSender };
7981
+ var theTransports = prependTransports([3 , 1 , 2 ], senderConfig.transports);
7982
+ httpInterface = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ](theTransports, false);
7983
+ var xhrInterface = _sendPostMgr && _sendPostMgr.getFallbackInst();
7579
7984
  _xhrSend = function (payload, isAsync) {
7580
7985
  return _doSend(xhrInterface, payload, isAsync);
7581
7986
  };
@@ -7589,11 +7994,11 @@ var Sender = /** @class */ (function (_super) {
7589
7994
  if (_fetchKeepAlive) {
7590
7995
  _syncUnloadSender = _fetchKeepAliveSender;
7591
7996
  }
7592
- var syncTransports = _prependTransports([3 , 1 ], senderConfig[_DYN_UNLOAD_TRANSPORTS ]);
7997
+ var syncTransports = prependTransports([3 , 1 ], senderConfig[_DYN_UNLOAD_TRANSPORTS ]);
7593
7998
  if (!_fetchKeepAlive) {
7594
7999
  syncTransports = syncTransports.filter(function (transport) { return transport !== 2 ; });
7595
8000
  }
7596
- syncInterface = _getSenderInterface(syncTransports, true);
8001
+ syncInterface = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ](syncTransports, true);
7597
8002
  syncInterface = _alwaysUseCustomSend ? customInterface : (syncInterface || customInterface);
7598
8003
  if ((_alwaysUseCustomSend || senderConfig[_DYN_UNLOAD_TRANSPORTS ] || !_syncUnloadSender) && syncInterface) {
7599
8004
  _syncUnloadSender = function (payload, isAsync) {
@@ -7635,10 +8040,8 @@ var Sender = /** @class */ (function (_super) {
7635
8040
  _self.isCompletelyIdle = function () {
7636
8041
  return !_paused && _syncFetchPayload === 0 && _self._buffer[_DYN_COUNT ]() === 0;
7637
8042
  };
7638
- _self[_DYN__XHR_READY_STATE_CHA8 ] = function (xhr, payload, countOfItemsInPayload) {
7639
- if (xhr.readyState === 4) {
7640
- _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, _formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
7641
- }
8043
+ _self._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {
8044
+ return _xhrReadyStateChange(xhr, payload, countOfItemsInPayload);
7642
8045
  };
7643
8046
  _self[_DYN_TRIGGER_SEND ] = function (async, forcedSender, sendReason) {
7644
8047
  if (async === void 0) { async = true; }
@@ -7714,7 +8117,7 @@ var Sender = /** @class */ (function (_super) {
7714
8117
  _self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
7715
8118
  }
7716
8119
  if (failed[_DYN_LENGTH ] > 0) {
7717
- _self[_DYN__ON_ERROR ](failed, _formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
8120
+ _self[_DYN__ON_ERROR ](failed, formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
7718
8121
  }
7719
8122
  if (retry[_DYN_LENGTH ] > 0) {
7720
8123
  _resendPayload(retry);
@@ -7727,22 +8130,89 @@ var Sender = /** @class */ (function (_super) {
7727
8130
  _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
7728
8131
  };
7729
8132
  _self._xdrOnLoad = function (xdr, payload) {
8133
+ return _xdrOnLoad(xdr, payload);
8134
+ };
8135
+ function _xdrOnLoad(xdr, payload) {
7730
8136
  var responseText = _getResponseText(xdr);
7731
8137
  if (xdr && (responseText + "" === "200" || responseText === "")) {
7732
8138
  _consecutiveErrors = 0;
7733
8139
  _self[_DYN__ON_SUCCESS ](payload, 0);
7734
8140
  }
7735
8141
  else {
7736
- var results = _parseResponse(responseText);
8142
+ var results = parseResponse(responseText);
7737
8143
  if (results && results.itemsReceived && results.itemsReceived > results[_DYN_ITEMS_ACCEPTED ]
7738
8144
  && !_isRetryDisabled) {
7739
8145
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, results);
7740
8146
  }
7741
8147
  else {
7742
- _self[_DYN__ON_ERROR ](payload, _formatErrorMessageXdr(xdr));
8148
+ _self[_DYN__ON_ERROR ](payload, formatErrorMessageXdr(xdr));
7743
8149
  }
7744
8150
  }
7745
- };
8151
+ }
8152
+ function _getSendPostMgrConfig() {
8153
+ var _a;
8154
+ try {
8155
+ var onCompleteFuncs = {
8156
+ xdrOnComplete: function (xdr, oncomplete, payload) {
8157
+ var data = _getPayloadArr(payload);
8158
+ if (!data) {
8159
+ return;
8160
+ }
8161
+ return _xdrOnLoad(xdr, data);
8162
+ },
8163
+ fetchOnComplete: function (response, onComplete, resValue, payload) {
8164
+ var data = _getPayloadArr(payload);
8165
+ if (!data) {
8166
+ return;
8167
+ }
8168
+ return _checkResponsStatus(response.status, data, response.url, data[_DYN_LENGTH ], response.statusText, resValue || "");
8169
+ },
8170
+ xhrOnComplete: function (request, oncomplete, payload) {
8171
+ var data = _getPayloadArr(payload);
8172
+ if (!data) {
8173
+ return;
8174
+ }
8175
+ return _xhrReadyStateChange(request, data, data[_DYN_LENGTH ]);
8176
+ },
8177
+ beaconOnRetry: function (data, onComplete, canSend) {
8178
+ return _onBeaconRetry(data, onComplete, canSend);
8179
+ }
8180
+ };
8181
+ var config = (_a = {},
8182
+ _a[_DYN_ENABLE_SEND_PROMISE ] = _enableSendPromise,
8183
+ _a.isOneDs = false,
8184
+ _a.disableCredentials = false,
8185
+ _a[_DYN_DISABLE_XHR ] = _disableXhr,
8186
+ _a.disableBeacon = !_beaconNormalSupported,
8187
+ _a.disableBeaconSync = !_beaconOnUnloadSupported,
8188
+ _a.senderOnCompleteCallBack = onCompleteFuncs,
8189
+ _a);
8190
+ return config;
8191
+ }
8192
+ catch (e) {
8193
+ }
8194
+ return null;
8195
+ }
8196
+ function _xhrReadyStateChange(xhr, payload, countOfItemsInPayload) {
8197
+ if (xhr.readyState === 4) {
8198
+ _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
8199
+ }
8200
+ }
8201
+ function _getPayloadArr(payload) {
8202
+ try {
8203
+ if (payload) {
8204
+ var internalPayload = payload;
8205
+ var arr = internalPayload[_DYN_ORI_PAYLOAD ];
8206
+ if (arr && arr[_DYN_LENGTH ]) {
8207
+ return arr;
8208
+ }
8209
+ return null;
8210
+ }
8211
+ }
8212
+ catch (e) {
8213
+ }
8214
+ return null;
8215
+ }
7746
8216
  function _validate(telemetryItem, diagLogger) {
7747
8217
  if (_disableTelemetry) {
7748
8218
  return false;
@@ -7838,36 +8308,6 @@ var Sender = /** @class */ (function (_super) {
7838
8308
  function _isSampledIn(envelope) {
7839
8309
  return _self._sample.isSampledIn(envelope);
7840
8310
  }
7841
- function _getSenderInterface(transports, syncSupport) {
7842
- var _a;
7843
- var transportType = null;
7844
- var sendPostFunc = null;
7845
- var lp = 0;
7846
- while (sendPostFunc == null && lp < transports[_DYN_LENGTH ]) {
7847
- transportType = transports[lp];
7848
- if (!_disableXhr && transportType === 1 ) {
7849
- if (useXDomainRequest()) {
7850
- sendPostFunc = _xdrSender;
7851
- }
7852
- else if (isXhrSupported()) {
7853
- sendPostFunc = _xhrSender;
7854
- }
7855
- }
7856
- else if (transportType === 2 && isFetchSupported(syncSupport)) {
7857
- sendPostFunc = _fetchSender;
7858
- }
7859
- else if (transportType === 3 && (syncSupport ? _beaconOnUnloadSupported : _beaconNormalSupported)) {
7860
- sendPostFunc = _beaconSender;
7861
- }
7862
- lp++;
7863
- }
7864
- if (sendPostFunc) {
7865
- return _a = {},
7866
- _a[_DYN_SEND_POST ] = sendPostFunc,
7867
- _a;
7868
- }
7869
- return null;
7870
- }
7871
8311
  function _getOnComplete(payload, status, headers, response) {
7872
8312
  if (status === 200 && payload) {
7873
8313
  _self._onSuccess(payload, payload[_DYN_LENGTH ]);
@@ -7882,7 +8322,7 @@ var Sender = /** @class */ (function (_super) {
7882
8322
  return _getOnComplete(payload, status, headers, response);
7883
8323
  };
7884
8324
  var payloadData = _getPayload(payload);
7885
- var sendPostFunc = sendInterface && sendInterface[_DYN_SEND_POST ];
8325
+ var sendPostFunc = sendInterface && sendInterface.sendPOST;
7886
8326
  if (sendPostFunc && payloadData) {
7887
8327
  if (markAsSent) {
7888
8328
  _self._buffer[_DYN_MARK_AS_SENT ](payload);
@@ -7894,7 +8334,7 @@ var Sender = /** @class */ (function (_super) {
7894
8334
  function _getPayload(payload) {
7895
8335
  var _a;
7896
8336
  if (isArray(payload) && payload[_DYN_LENGTH ] > 0) {
7897
- var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
8337
+ var batch = _self[_DYN__BUFFER ].batchPayloads(payload);
7898
8338
  var payloadData = (_a = {},
7899
8339
  _a[_DYN_DATA ] = batch,
7900
8340
  _a.urlString = _endpointUrl,
@@ -7907,9 +8347,6 @@ var Sender = /** @class */ (function (_super) {
7907
8347
  }
7908
8348
  return null;
7909
8349
  }
7910
- function _fetchSender(payload, oncomplete, sync) {
7911
- return _doFetchSender(payload, oncomplete, false);
7912
- }
7913
8350
  function _checkMaxSize(incomingPayload) {
7914
8351
  var incomingSize = incomingPayload ? incomingPayload[_DYN_LENGTH ] : 0;
7915
8352
  if ((_self[_DYN__BUFFER ].size() + incomingSize) > _maxBatchSizeInBytes) {
@@ -7923,7 +8360,7 @@ var Sender = /** @class */ (function (_super) {
7923
8360
  function _checkResponsStatus(status, payload, responseUrl, countOfItemsInPayload, errorMessage, res) {
7924
8361
  var response = null;
7925
8362
  if (!_self._appId) {
7926
- response = _parseResponse(res);
8363
+ response = parseResponse(res);
7927
8364
  if (response && response.appId) {
7928
8365
  _self._appId = response.appId;
7929
8366
  }
@@ -7955,7 +8392,7 @@ var Sender = /** @class */ (function (_super) {
7955
8392
  _checkAndUpdateEndPointUrl(responseUrl);
7956
8393
  if (status === 206) {
7957
8394
  if (!response) {
7958
- response = _parseResponse(res);
8395
+ response = parseResponse(res);
7959
8396
  }
7960
8397
  if (response && !_isRetryDisabled) {
7961
8398
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, response);
@@ -7983,223 +8420,61 @@ var Sender = /** @class */ (function (_super) {
7983
8420
  }
7984
8421
  return false;
7985
8422
  }
7986
- function _doOnComplete(oncomplete, status, headers, response) {
7987
- try {
7988
- oncomplete(status, headers, response);
7989
- }
7990
- catch (e) {
7991
- }
7992
- }
7993
8423
  function _doUnloadSend(payload, isAsync) {
7994
8424
  if (_syncUnloadSender) {
7995
8425
  _syncUnloadSender(payload, false);
7996
8426
  }
7997
8427
  else {
7998
- var payloadData = _getPayload(payload);
7999
- _self._buffer[_DYN_MARK_AS_SENT ](payload);
8000
- _beaconSender(payloadData);
8428
+ var beaconInst = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ]([3 ], true);
8429
+ return _doSend(beaconInst, payload, isAsync);
8001
8430
  }
8002
8431
  }
8003
- function _doBeaconSend(payload, oncomplete) {
8004
- var nav = getNavigator();
8005
- var url = _endpointUrl;
8006
- var buffer = _self[_DYN__BUFFER ];
8007
- var batch = buffer[_DYN_BATCH_PAYLOADS ](payload);
8008
- var plainTextBatch = new Blob([batch], { type: "text/plain;charset=UTF-8" });
8009
- var queued = nav.sendBeacon(url, plainTextBatch);
8010
- if (queued) {
8011
- _self._onSuccess(payload, payload[_DYN_LENGTH ]);
8012
- }
8013
- return queued;
8014
- }
8015
- function _beaconSender(payload, oncomplete, sync) {
8432
+ function _onBeaconRetry(payload, onComplete, canSend) {
8016
8433
  var internalPayload = payload;
8017
8434
  var data = internalPayload && internalPayload[_DYN_ORI_PAYLOAD ];
8018
- if (isArray(data) && data[_DYN_LENGTH ] > 0) {
8019
- if (!_doBeaconSend(data)) {
8020
- if (!_disableBeaconSplit) {
8021
- var droppedPayload = [];
8022
- for (var lp = 0; lp < data[_DYN_LENGTH ]; lp++) {
8023
- var thePayload = data[lp];
8024
- if (!_doBeaconSend([thePayload])) {
8025
- droppedPayload[_DYN_PUSH ](thePayload);
8026
- }
8027
- }
8028
- if (droppedPayload[_DYN_LENGTH ] > 0) {
8029
- _fallbackSend && _fallbackSend(droppedPayload, true);
8030
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
8031
- }
8435
+ if (!_disableBeaconSplit) {
8436
+ var droppedPayload = [];
8437
+ for (var lp = 0; lp < data[_DYN_LENGTH ]; lp++) {
8438
+ var thePayload = data[lp];
8439
+ var arr = [thePayload];
8440
+ var item = _getPayload(arr);
8441
+ if (!canSend(item, onComplete)) {
8442
+ droppedPayload[_DYN_PUSH ](thePayload);
8032
8443
  }
8033
8444
  else {
8034
- _fallbackSend && _fallbackSend(data, true);
8035
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
8445
+ _self._onSuccess(arr, arr[_DYN_LENGTH ]);
8036
8446
  }
8037
8447
  }
8038
- }
8039
- }
8040
- function _xhrSender(payload, oncomplete, sync) {
8041
- var internalPayload = payload;
8042
- var thePromise;
8043
- var resolveFunc;
8044
- var rejectFunc;
8045
- var xhr = new XMLHttpRequest();
8046
- var endPointUrl = _endpointUrl;
8047
- try {
8048
- xhr[DisabledPropertyName] = true;
8049
- }
8050
- catch (e) {
8051
- }
8052
- xhr.open("POST", endPointUrl, !sync);
8053
- xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
8054
- if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
8055
- xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
8056
- }
8057
- arrForEach(objKeys(_headers), function (headerName) {
8058
- xhr[_DYN_SET_REQUEST_HEADER ](headerName, _headers[headerName]);
8059
- });
8060
- xhr.onreadystatechange = function () {
8061
- var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
8062
- _self._xhrReadyStateChange(xhr, oriPayload, oriPayload[_DYN_LENGTH ]);
8063
- if (xhr.readyState === 4) {
8064
- resolveFunc && resolveFunc(true);
8448
+ if (droppedPayload[_DYN_LENGTH ] > 0) {
8449
+ _fallbackSend && _fallbackSend(droppedPayload, true);
8450
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
8065
8451
  }
8066
- };
8067
- xhr.onerror = function (event) {
8068
- _doOnComplete(oncomplete, 400, {}, _formatErrorMessageXhr(xhr));
8069
- rejectFunc && rejectFunc(event);
8070
- };
8071
- if (!sync && _enableSendPromise) {
8072
- thePromise = createPromise(function (resolve, reject) {
8073
- resolveFunc = resolve;
8074
- rejectFunc = reject;
8075
- });
8076
8452
  }
8077
- xhr.send(payload[_DYN_DATA ]);
8078
- return thePromise;
8453
+ else {
8454
+ _fallbackSend && _fallbackSend(data, true);
8455
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
8456
+ }
8079
8457
  }
8080
8458
  function _fetchKeepAliveSender(payload, isAsync) {
8081
- var onComplete = function (status, headers, response) {
8082
- return _getOnComplete(payload, status, headers, response);
8083
- };
8459
+ var transport = null;
8084
8460
  if (isArray(payload)) {
8085
8461
  var payloadSize = payload[_DYN_LENGTH ];
8086
8462
  for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
8087
8463
  payloadSize += payload[lp][_DYN_LENGTH ];
8088
8464
  }
8089
- var payloadData = _getPayload(payload);
8090
- _self._buffer[_DYN_MARK_AS_SENT ](payload);
8091
- if ((_syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
8092
- _doFetchSender(payloadData, onComplete, true);
8465
+ var syncFetchPayload = _sendPostMgr.getSyncFetchPayload();
8466
+ if ((syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
8467
+ transport = 2 ;
8093
8468
  }
8094
8469
  else if (isBeaconsSupported()) {
8095
- _beaconSender(payloadData);
8470
+ transport = 3 ;
8096
8471
  }
8097
8472
  else {
8098
- _fallbackSend && _fallbackSend(payload, true);
8473
+ transport = 1 ;
8099
8474
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with xhrSender.");
8100
8475
  }
8101
- }
8102
- }
8103
- function _doFetchSender(payload, oncomplete, sync) {
8104
- var _a;
8105
- var endPointUrl = _endpointUrl;
8106
- var internalPayload = payload;
8107
- var batch = internalPayload[_DYN_DATA ];
8108
- var plainTextBatch = new Blob([batch], { type: "application/json" });
8109
- var thePromise;
8110
- var resolveFunc;
8111
- var rejectFunc;
8112
- var requestHeaders = new Headers();
8113
- var batchLength = batch[_DYN_LENGTH ];
8114
- var ignoreResponse = false;
8115
- var responseHandled = false;
8116
- if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
8117
- requestHeaders.append(RequestHeaders[6 ], RequestHeaders[7 ]);
8118
- }
8119
- arrForEach(objKeys(_headers), function (headerName) {
8120
- requestHeaders.append(headerName, _headers[headerName]);
8121
- });
8122
- var init = (_a = {
8123
- method: "POST",
8124
- headers: requestHeaders,
8125
- body: plainTextBatch
8126
- },
8127
- _a[DisabledPropertyName] = true
8128
- ,
8129
- _a);
8130
- if (sync) {
8131
- init.keepalive = true;
8132
- ignoreResponse = true;
8133
- _syncFetchPayload += batchLength;
8134
- }
8135
- var request = new Request(endPointUrl, init);
8136
- try {
8137
- request[DisabledPropertyName] = true;
8138
- }
8139
- catch (e) {
8140
- }
8141
- if (!sync && _enableSendPromise) {
8142
- thePromise = createPromise(function (resolve, reject) {
8143
- resolveFunc = resolve;
8144
- rejectFunc = reject;
8145
- });
8146
- }
8147
- try {
8148
- doAwaitResponse(fetch(request), function (result) {
8149
- if (sync) {
8150
- _syncFetchPayload -= batchLength;
8151
- batchLength = 0;
8152
- }
8153
- if (!responseHandled) {
8154
- responseHandled = true;
8155
- if (!result.rejected) {
8156
- var response_1 = result.value;
8157
- if (!response_1.ok) {
8158
- _doOnComplete(oncomplete, 400, {}, response_1.statusText);
8159
- resolveFunc && resolveFunc(false);
8160
- }
8161
- else {
8162
- doAwaitResponse(response_1.text(), function (resp) {
8163
- var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
8164
- _checkResponsStatus(response_1.status, oriPayload, response_1.url, oriPayload[_DYN_LENGTH ], response_1.statusText, resp.value || "");
8165
- resolveFunc && resolveFunc(true);
8166
- });
8167
- }
8168
- }
8169
- else {
8170
- _doOnComplete(oncomplete, 400, {}, result.reason && result.reason.message);
8171
- rejectFunc && rejectFunc(result.reason);
8172
- }
8173
- }
8174
- });
8175
- }
8176
- catch (e) {
8177
- if (!responseHandled) {
8178
- _doOnComplete(oncomplete, 400, {}, dumpObj(e));
8179
- rejectFunc && rejectFunc(e);
8180
- }
8181
- }
8182
- if (ignoreResponse && !responseHandled) {
8183
- responseHandled = true;
8184
- _doOnComplete(oncomplete, 200, {});
8185
- resolveFunc && resolveFunc(true);
8186
- }
8187
- return thePromise;
8188
- }
8189
- function _parseResponse(response) {
8190
- try {
8191
- if (response && response !== "") {
8192
- var result = getJSON().parse(response);
8193
- if (result && result.itemsReceived && result.itemsReceived >= result[_DYN_ITEMS_ACCEPTED ] &&
8194
- result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH ]) {
8195
- return result;
8196
- }
8197
- }
8198
- }
8199
- catch (e) {
8200
- _throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
8201
- response: response
8202
- });
8476
+ var inst = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ]([transport], true);
8477
+ return _doSend(inst, payload, isAsync);
8203
8478
  }
8204
8479
  return null;
8205
8480
  }
@@ -8258,41 +8533,6 @@ var Sender = /** @class */ (function (_super) {
8258
8533
  || statusCode === 503
8259
8534
  || statusCode === 504;
8260
8535
  }
8261
- function _formatErrorMessageXhr(xhr, message) {
8262
- if (xhr) {
8263
- return "XMLHttpRequest,Status:" + xhr.status + ",Response:" + _getResponseText(xhr) || xhr.response || "";
8264
- }
8265
- return message;
8266
- }
8267
- function _xdrSender(payload, oncomplete, sync) {
8268
- var internalPayload = payload;
8269
- var _window = getWindow();
8270
- var xdr = new XDomainRequest();
8271
- var data = internalPayload[_DYN_DATA ];
8272
- xdr.onload = function () {
8273
- var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
8274
- _self._xdrOnLoad(xdr, oriPayload);
8275
- };
8276
- xdr.onerror = function () {
8277
- _doOnComplete(oncomplete, 400, {}, _formatErrorMessageXdr(xdr));
8278
- };
8279
- var hostingProtocol = _window && _window.location && _window.location.protocol || "";
8280
- if (_endpointUrl.lastIndexOf(hostingProtocol, 0) !== 0) {
8281
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " +
8282
- "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.");
8283
- _self._buffer[_DYN_CLEAR ]();
8284
- return;
8285
- }
8286
- var endpointUrl = _endpointUrl.replace(/^(https?:)/, "");
8287
- xdr.open("POST", endpointUrl);
8288
- xdr.send(data);
8289
- }
8290
- function _formatErrorMessageXdr(xdr, message) {
8291
- if (xdr) {
8292
- return "XDomainRequest,Response:" + _getResponseText(xdr) || "";
8293
- }
8294
- return message;
8295
- }
8296
8536
  function _getNotifyMgr() {
8297
8537
  var func = "getNotifyMgr";
8298
8538
  if (_self.core[func]) {
@@ -8353,6 +8593,7 @@ var Sender = /** @class */ (function (_super) {
8353
8593
  _disableBeaconSplit = false;
8354
8594
  _xhrSend = null;
8355
8595
  _fallbackSend = null;
8596
+ _sendPostMgr = null;
8356
8597
  objDefine(_self, "_senderConfig", {
8357
8598
  g: function () {
8358
8599
  return objExtend({}, defaultAppInsightsChannelConfig);
@@ -8378,6 +8619,8 @@ var Sender = /** @class */ (function (_super) {
8378
8619
 
8379
8620
  var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
8380
8621
  var _DYN_CONNECTION_STRING = "connectionString";
8622
+ var _DYN_ENDPOINT_URL = "endpointUrl";
8623
+ var _DYN_USER_OVERRIDE_ENDPOI0 = "userOverrideEndpointUrl";
8381
8624
 
8382
8625
  var defaultConfigValues = {
8383
8626
  diagnosticLogInterval: cfgDfValidate(_chkDiagLevel, 10000)
@@ -8418,9 +8661,10 @@ var ApplicationInsights = /** @class */ (function () {
8418
8661
  if (_config[_DYN_CONNECTION_STRING ]) {
8419
8662
  var cs = parseConnectionString(_config[_DYN_CONNECTION_STRING ]);
8420
8663
  var ingest = cs.ingestionendpoint;
8421
- _config.endpointUrl = ingest ? (ingest + DEFAULT_BREEZE_PATH) : _config.endpointUrl;
8664
+ _config[_DYN_ENDPOINT_URL ] = _config[_DYN_USER_OVERRIDE_ENDPOI0 ] ? _config[_DYN_USER_OVERRIDE_ENDPOI0 ] : (ingest + DEFAULT_BREEZE_PATH);
8422
8665
  _config[_DYN_INSTRUMENTATION_KEY ] = cs.instrumentationkey || _config[_DYN_INSTRUMENTATION_KEY ];
8423
8666
  }
8667
+ _config[_DYN_ENDPOINT_URL ] = _config[_DYN_USER_OVERRIDE_ENDPOI0 ] ? _config[_DYN_USER_OVERRIDE_ENDPOI0 ] : _config[_DYN_ENDPOINT_URL ];
8424
8668
  }));
8425
8669
  core.initialize(_config, [new Sender()]);
8426
8670
  }