@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,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-03
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  'use strict';
@@ -1317,7 +1317,7 @@ var _DYN_PUSH$2 = "push";
1317
1317
  var _DYN_SPLICE = "splice";
1318
1318
  var _DYN_HDLR = "hdlr";
1319
1319
  var _DYN_CANCEL = "cancel";
1320
- var _DYN_INITIALIZE = "initialize";
1320
+ var _DYN_INITIALIZE$1 = "initialize";
1321
1321
  var _DYN_IDENTIFIER = "identifier";
1322
1322
  var _DYN_IS_INITIALIZED = "isInitialized";
1323
1323
  var _DYN_GET_PLUGIN = "getPlugin";
@@ -1707,7 +1707,7 @@ function createPromise(executor, timeout) {
1707
1707
  var createAllPromise = _createAllPromise(createPromise);
1708
1708
 
1709
1709
  var UNDEFINED_VALUE$1 = undefined;
1710
- var STR_EMPTY = "";
1710
+ var STR_EMPTY$1 = "";
1711
1711
  var STR_CHANNELS = "channels";
1712
1712
  var STR_CORE = "core";
1713
1713
  var STR_CREATE_PERF_MGR = "createPerfMgr";
@@ -1760,7 +1760,7 @@ function getExceptionName(object) {
1760
1760
  if (isError(object)) {
1761
1761
  return object[_DYN_NAME$2 ];
1762
1762
  }
1763
- return STR_EMPTY;
1763
+ return STR_EMPTY$1;
1764
1764
  }
1765
1765
  function setValue(target, field, value, valChk, srcChk) {
1766
1766
  var theValue = value;
@@ -1963,7 +1963,7 @@ function isIE() {
1963
1963
  var nav = getNavigator();
1964
1964
  if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
1965
1965
  _navUserAgentCheck = nav[_DYN_USER_AGENT ];
1966
- var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
1966
+ var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]();
1967
1967
  _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
1968
1968
  }
1969
1969
  return _isTrident;
@@ -1972,9 +1972,9 @@ function getIEVersion(userAgentStr) {
1972
1972
  if (userAgentStr === void 0) { userAgentStr = null; }
1973
1973
  if (!userAgentStr) {
1974
1974
  var navigator_1 = getNavigator() || {};
1975
- userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]() : STR_EMPTY;
1975
+ userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]() : STR_EMPTY$1;
1976
1976
  }
1977
- var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
1977
+ var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]();
1978
1978
  if (strContains(ua, strMsie)) {
1979
1979
  var doc = getDocument() || {};
1980
1980
  return Math.max(parseInt(ua[_DYN_SPLIT$1 ](strMsie)[1]), (doc[strDocumentMode] || 0));
@@ -2083,7 +2083,7 @@ function newId(maxLength) {
2083
2083
  var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
2084
2084
  var number = random32() >>> 0;
2085
2085
  var chars = 0;
2086
- var result = STR_EMPTY;
2086
+ var result = STR_EMPTY$1;
2087
2087
  while (result[_DYN_LENGTH$2 ] < maxLength) {
2088
2088
  chars++;
2089
2089
  result += base64chars.charAt(number & 0x3F);
@@ -2121,11 +2121,11 @@ function _getCache(data, target) {
2121
2121
  }
2122
2122
  function createUniqueNamespace(name, includeVersion) {
2123
2123
  if (includeVersion === void 0) { includeVersion = false; }
2124
- return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
2124
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY$1) + instanceName);
2125
2125
  }
2126
2126
  function createElmNodeData(name) {
2127
2127
  var data = {
2128
- id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
2128
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY$1) + "." + version),
2129
2129
  accept: function (target) {
2130
2130
  return _canAcceptData(target);
2131
2131
  },
@@ -2878,9 +2878,9 @@ var _logFuncs = (_a$4 = {},
2878
2878
  _a$4);
2879
2879
  function _sanitizeDiagnosticText(text) {
2880
2880
  if (text) {
2881
- return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
2881
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
2882
2882
  }
2883
- return STR_EMPTY;
2883
+ return STR_EMPTY$1;
2884
2884
  }
2885
2885
  function _logToConsole(func, message) {
2886
2886
  var theConsole = getConsole();
@@ -2902,12 +2902,12 @@ var _InternalLogMessage = /** @class */ (function () {
2902
2902
  _self[_DYN_MESSAGE$1 ] =
2903
2903
  (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
2904
2904
  msgId;
2905
- var strProps = STR_EMPTY;
2905
+ var strProps = STR_EMPTY$1;
2906
2906
  if (hasJSON()) {
2907
2907
  strProps = getJSON().stringify(properties);
2908
2908
  }
2909
- var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
2910
- (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
2909
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
2910
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
2911
2911
  _self[_DYN_MESSAGE$1 ] += diagnosticText;
2912
2912
  }
2913
2913
  _InternalLogMessage.dataType = "MessageData";
@@ -3146,7 +3146,7 @@ function createCookieMgr(rootConfig, logger) {
3146
3146
  var result = false;
3147
3147
  if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {
3148
3148
  var values = {};
3149
- var theValue = strTrim(value || STR_EMPTY);
3149
+ var theValue = strTrim(value || STR_EMPTY$1);
3150
3150
  var idx = strIndexOf(theValue, ";");
3151
3151
  if (idx !== -1) {
3152
3152
  theValue = strTrim(strLeft(value, idx));
@@ -3161,11 +3161,11 @@ function createCookieMgr(rootConfig, logger) {
3161
3161
  if (expireMs > 0) {
3162
3162
  var expiry = new Date();
3163
3163
  expiry.setTime(expireMs);
3164
- setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);
3164
+ setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY$1, isTruthy);
3165
3165
  }
3166
3166
  }
3167
3167
  if (!_isIE) {
3168
- setValue(values, "max-age", STR_EMPTY + maxAgeSec, null, isUndefined);
3168
+ setValue(values, "max-age", STR_EMPTY$1 + maxAgeSec, null, isUndefined);
3169
3169
  }
3170
3170
  }
3171
3171
  var location_1 = getLocation();
@@ -3185,7 +3185,7 @@ function createCookieMgr(rootConfig, logger) {
3185
3185
  return result;
3186
3186
  },
3187
3187
  get: function (name) {
3188
- var value = STR_EMPTY;
3188
+ var value = STR_EMPTY$1;
3189
3189
  if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {
3190
3190
  value = _getCookieFn(name);
3191
3191
  }
@@ -3209,7 +3209,7 @@ function createCookieMgr(rootConfig, logger) {
3209
3209
  if (!isIE()) {
3210
3210
  values["max-age"] = "0";
3211
3211
  }
3212
- _delCookieFn(name, _formatCookieValue(STR_EMPTY, values));
3212
+ _delCookieFn(name, _formatCookieValue(STR_EMPTY$1, values));
3213
3213
  result = true;
3214
3214
  }
3215
3215
  return result;
@@ -3242,7 +3242,7 @@ function _extractParts(theValue) {
3242
3242
  if (theValue && theValue[_DYN_LENGTH$2 ]) {
3243
3243
  var parts = strTrim(theValue)[_DYN_SPLIT$1 ](";");
3244
3244
  arrForEach(parts, function (thePart) {
3245
- thePart = strTrim(thePart || STR_EMPTY);
3245
+ thePart = strTrim(thePart || STR_EMPTY$1);
3246
3246
  if (thePart) {
3247
3247
  var idx = strIndexOf(thePart, "=");
3248
3248
  if (idx === -1) {
@@ -3263,22 +3263,22 @@ function _formatDate(theDate, func) {
3263
3263
  return null;
3264
3264
  }
3265
3265
  function _formatCookieValue(value, values) {
3266
- var cookieValue = value || STR_EMPTY;
3266
+ var cookieValue = value || STR_EMPTY$1;
3267
3267
  objForEachKey(values, function (name, theValue) {
3268
- cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY);
3268
+ cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY$1);
3269
3269
  });
3270
3270
  return cookieValue;
3271
3271
  }
3272
3272
  function _getCookieValue(name) {
3273
- var cookieValue = STR_EMPTY;
3273
+ var cookieValue = STR_EMPTY$1;
3274
3274
  !_doc && _getDoc();
3275
3275
  if (_doc.v) {
3276
- var theCookie = _doc.v[strCookie] || STR_EMPTY;
3276
+ var theCookie = _doc.v[strCookie] || STR_EMPTY$1;
3277
3277
  if (_parsedCookieValue !== theCookie) {
3278
3278
  _cookieCache = _extractParts(theCookie);
3279
3279
  _parsedCookieValue = theCookie;
3280
3280
  }
3281
- cookieValue = strTrim(_cookieCache[name] || STR_EMPTY);
3281
+ cookieValue = strTrim(_cookieCache[name] || STR_EMPTY$1);
3282
3282
  }
3283
3283
  return cookieValue;
3284
3284
  }
@@ -3630,7 +3630,7 @@ function initializePlugins(processContext, extensions) {
3630
3630
  }
3631
3631
  arrForEach(initPlugins, function (thePlugin) {
3632
3632
  var core = processContext[STR_CORE ]();
3633
- thePlugin[_DYN_INITIALIZE ](processContext.getCfg(), core, extensions, processContext[_DYN_GET_NEXT ]());
3633
+ thePlugin[_DYN_INITIALIZE$1 ](processContext.getCfg(), core, extensions, processContext[_DYN_GET_NEXT ]());
3634
3634
  pluginState = _getPluginState(thePlugin);
3635
3635
  if (!thePlugin[STR_CORE] && !pluginState[STR_CORE]) {
3636
3636
  pluginState[STR_CORE] = core;
@@ -3974,7 +3974,7 @@ function createTelemetryPluginProxy(plugin, config, core) {
3974
3974
  doPerf(itemCtx[STR_CORE ](), function () { return identifier + ":" + name; }, function () {
3975
3975
  hasRunContext[chainId] = true;
3976
3976
  try {
3977
- var nextId = nextProxy ? nextProxy._id : STR_EMPTY;
3977
+ var nextId = nextProxy ? nextProxy._id : STR_EMPTY$1;
3978
3978
  if (nextId) {
3979
3979
  hasRunContext[nextId] = false;
3980
3980
  }
@@ -4119,7 +4119,7 @@ var BaseTelemetryPlugin = /** @class */ (function () {
4119
4119
  var _hookContainer;
4120
4120
  _initDefaults();
4121
4121
  dynamicProto(BaseTelemetryPlugin, _self, function (_self) {
4122
- _self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
4122
+ _self[_DYN_INITIALIZE$1 ] = function (config, core, extensions, pluginChain) {
4123
4123
  _setDefaults(config, core, pluginChain);
4124
4124
  _isinitialized = true;
4125
4125
  };
@@ -4338,7 +4338,7 @@ function _validateExtensions(logger, channelPriority, allExtensions) {
4338
4338
  var channels = [];
4339
4339
  var extPriorities = {};
4340
4340
  arrForEach(allExtensions, function (ext) {
4341
- if (isNullOrUndefined(ext) || isNullOrUndefined(ext[_DYN_INITIALIZE ])) {
4341
+ if (isNullOrUndefined(ext) || isNullOrUndefined(ext[_DYN_INITIALIZE$1 ])) {
4342
4342
  throwError(strValidationError);
4343
4343
  }
4344
4344
  var extPriority = ext[STR_PRIORITY ];
@@ -4463,7 +4463,7 @@ var AppInsightsCore = /** @class */ (function () {
4463
4463
  return [_extensions];
4464
4464
  };
4465
4465
  _self[_DYN_IS_INITIALIZED ] = function () { return _isInitialized; };
4466
- _self[_DYN_INITIALIZE ] = function (config, extensions, logger, notificationManager) {
4466
+ _self[_DYN_INITIALIZE$1 ] = function (config, extensions, logger, notificationManager) {
4467
4467
  if (_isUnloading) {
4468
4468
  throwError(strSdkUnloadingError);
4469
4469
  }
@@ -4826,7 +4826,7 @@ var AppInsightsCore = /** @class */ (function () {
4826
4826
  }
4827
4827
  _pluginVersionString = _pluginVersionStringArr.join(";");
4828
4828
  }
4829
- return _pluginVersionString || STR_EMPTY;
4829
+ return _pluginVersionString || STR_EMPTY$1;
4830
4830
  }
4831
4831
  });
4832
4832
  objDefine(_self, "logger", {
@@ -5139,16 +5139,16 @@ var elmNodeData = createElmNodeData("events");
5139
5139
  var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
5140
5140
  function _normalizeNamespace(name) {
5141
5141
  if (name && name[_DYN_REPLACE ]) {
5142
- return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY);
5142
+ return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY$1);
5143
5143
  }
5144
5144
  return name;
5145
5145
  }
5146
5146
  function _getEvtNamespace(eventName, evtNamespace) {
5147
5147
  var _a;
5148
5148
  if (evtNamespace) {
5149
- var theNamespace_1 = STR_EMPTY;
5149
+ var theNamespace_1 = STR_EMPTY$1;
5150
5150
  if (isArray(evtNamespace)) {
5151
- theNamespace_1 = STR_EMPTY;
5151
+ theNamespace_1 = STR_EMPTY$1;
5152
5152
  arrForEach(evtNamespace, function (name) {
5153
5153
  name = _normalizeNamespace(name);
5154
5154
  if (name) {
@@ -5166,13 +5166,13 @@ function _getEvtNamespace(eventName, evtNamespace) {
5166
5166
  if (theNamespace_1[0] !== ".") {
5167
5167
  theNamespace_1 = "." + theNamespace_1;
5168
5168
  }
5169
- eventName = (eventName || STR_EMPTY) + theNamespace_1;
5169
+ eventName = (eventName || STR_EMPTY$1) + theNamespace_1;
5170
5170
  }
5171
5171
  }
5172
- var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
5172
+ var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY$1) || []);
5173
5173
  return _a = {},
5174
5174
  _a[_DYN_TYPE ] = parsedEvent[1],
5175
- _a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT$1 ](".").sort()).join("."),
5175
+ _a.ns = ((parsedEvent[2] || STR_EMPTY$1).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY$1)[_DYN_SPLIT$1 ](".").sort()).join("."),
5176
5176
  _a;
5177
5177
  }
5178
5178
  function _getRegisteredEvents(target, evtName, addDefault) {
@@ -5321,15 +5321,21 @@ var RequestHeaders = createValueMap({
5321
5321
  var _DYN_SPLIT = "split";
5322
5322
  var _DYN_LENGTH$1 = "length";
5323
5323
  var _DYN_TO_LOWER_CASE = "toLowerCase";
5324
+ var _DYN_LOCATION = "location";
5324
5325
  var _DYN_INGESTIONENDPOINT = "ingestionendpoint";
5325
5326
  var _DYN_TO_STRING$1 = "toString";
5326
5327
  var _DYN_PUSH$1 = "push";
5328
+ var _DYN_URL_STRING = "urlString";
5329
+ var _DYN_DATA$1 = "data";
5330
+ var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
5331
+ var _DYN_REASON = "reason";
5332
+ var _DYN_MESSAGE = "message";
5327
5333
  var _DYN_REMOVE_ITEM = "removeItem";
5328
5334
  var _DYN_NAME$1 = "name";
5329
- var _DYN_MESSAGE = "message";
5330
5335
  var _DYN_COUNT$1 = "count";
5331
5336
  var _DYN_STRINGIFY$1 = "stringify";
5332
5337
  var _DYN_PATHNAME = "pathname";
5338
+ var _DYN_ITEMS_RECEIVED$1 = "itemsReceived";
5333
5339
  var _DYN_EXCEPTIONS = "exceptions";
5334
5340
  var _DYN_PARSED_STACK = "parsedStack";
5335
5341
  var _DYN_PROPERTIES = "properties";
@@ -5551,6 +5557,54 @@ function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName)
5551
5557
  data: data
5552
5558
  };
5553
5559
  }
5560
+ function getResponseText(xhr) {
5561
+ try {
5562
+ return xhr.responseText;
5563
+ }
5564
+ catch (e) {
5565
+ }
5566
+ return null;
5567
+ }
5568
+ function formatErrorMessageXdr(xdr, message) {
5569
+ if (xdr) {
5570
+ return "XDomainRequest,Response:" + getResponseText(xdr) || "";
5571
+ }
5572
+ return message;
5573
+ }
5574
+ function formatErrorMessageXhr(xhr, message) {
5575
+ if (xhr) {
5576
+ return "XMLHttpRequest,Status:" + xhr.status + ",Response:" + getResponseText(xhr) || xhr.response || "";
5577
+ }
5578
+ return message;
5579
+ }
5580
+ function prependTransports(theTransports, newTransports) {
5581
+ if (newTransports) {
5582
+ if (isNumber(newTransports)) {
5583
+ theTransports = [newTransports].concat(theTransports);
5584
+ }
5585
+ else if (isArray(newTransports)) {
5586
+ theTransports = newTransports.concat(theTransports);
5587
+ }
5588
+ }
5589
+ return theTransports;
5590
+ }
5591
+ function parseResponse(response, diagLog) {
5592
+ try {
5593
+ if (response && response !== "") {
5594
+ var result = getJSON().parse(response);
5595
+ if (result && result[_DYN_ITEMS_RECEIVED$1 ] && result[_DYN_ITEMS_RECEIVED$1 ] >= result.itemsAccepted &&
5596
+ result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH$1 ]) {
5597
+ return result;
5598
+ }
5599
+ }
5600
+ }
5601
+ catch (e) {
5602
+ _throwInternal(diagLog, 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
5603
+ response: response
5604
+ });
5605
+ }
5606
+ return null;
5607
+ }
5554
5608
 
5555
5609
  var StorageType = createEnumStyle({
5556
5610
  LocalStorage: 0 ,
@@ -5639,7 +5693,7 @@ function parseConnectionString(connectionString) {
5639
5693
  }, {});
5640
5694
  if (objKeys(result)[_DYN_LENGTH$1 ] > 0) {
5641
5695
  if (result.endpointsuffix) {
5642
- var locationPrefix = result.location ? result.location + "." : "";
5696
+ var locationPrefix = result[_DYN_LOCATION ] ? result[_DYN_LOCATION ] + "." : "";
5643
5697
  result[_DYN_INGESTIONENDPOINT ] = result[_DYN_INGESTIONENDPOINT ] || ("https://" + locationPrefix + "dc." + result.endpointsuffix);
5644
5698
  }
5645
5699
  result[_DYN_INGESTIONENDPOINT ] = result[_DYN_INGESTIONENDPOINT ] || DEFAULT_BREEZE_ENDPOINT;
@@ -5658,7 +5712,7 @@ var Envelope = /** @class */ (function () {
5658
5712
  _self.sampleRate = 100.0;
5659
5713
  _self.tags = {};
5660
5714
  _self[_DYN_NAME$1 ] = dataSanitizeString(logger, name) || strNotSpecified;
5661
- _self.data = data;
5715
+ _self[_DYN_DATA$1 ] = data;
5662
5716
  _self.time = toISOString(new Date());
5663
5717
  _self.aiDataContract = {
5664
5718
  time: 1 ,
@@ -5815,8 +5869,8 @@ function _getStackFromErrorObj(errorObj) {
5815
5869
  else if (getWindow() && getWindow()["opera"] && errorObj[strMessage]) {
5816
5870
  details = _getOperaStack(errorObj[_DYN_MESSAGE ]);
5817
5871
  }
5818
- else if (errorObj["reason"] && errorObj.reason[strStack]) {
5819
- details = _convertStackObj(errorObj.reason[strStack]);
5872
+ else if (errorObj["reason"] && errorObj[_DYN_REASON ][strStack]) {
5873
+ details = _convertStackObj(errorObj[_DYN_REASON ][strStack]);
5820
5874
  }
5821
5875
  else if (isString(errorObj)) {
5822
5876
  details = _convertStackObj(errorObj);
@@ -6287,7 +6341,7 @@ var RemoteDependencyData = /** @class */ (function () {
6287
6341
  _self.resultCode = resultCode + "";
6288
6342
  _self.type = dataSanitizeString(logger, requestAPI);
6289
6343
  var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);
6290
- _self.data = dataSanitizeUrl(logger, commandName) || dependencyFields.data;
6344
+ _self[_DYN_DATA$1 ] = dataSanitizeUrl(logger, commandName) || dependencyFields[_DYN_DATA$1 ];
6291
6345
  _self.target = dataSanitizeString(logger, dependencyFields.target);
6292
6346
  if (correlationContext) {
6293
6347
  _self.target = "".concat(_self.target, " | ").concat(correlationContext);
@@ -6461,6 +6515,360 @@ var ContextTagKeys = /** @class */ (function (_super) {
6461
6515
 
6462
6516
  var CtxTagKeys = new ContextTagKeys();
6463
6517
 
6518
+ var STR_EMPTY = "";
6519
+ var SenderPostManager = /** @class */ (function () {
6520
+ function SenderPostManager() {
6521
+ var _syncFetchPayload = 0;
6522
+ var _enableSendPromise;
6523
+ var _isInitialized;
6524
+ var _diagLog;
6525
+ var _isOneDs;
6526
+ var _onCompleteFuncs;
6527
+ var _disableCredentials;
6528
+ var _fallbackInst;
6529
+ var _disableXhr;
6530
+ var _disableBeacon;
6531
+ var _disableBeaconSync;
6532
+ dynamicProto(SenderPostManager, this, function (_self, _base) {
6533
+ var _sendCredentials = true;
6534
+ _initDefaults();
6535
+ _self.initialize = function (config, diagLog) {
6536
+ _diagLog = diagLog;
6537
+ if (_isInitialized) {
6538
+ _throwInternal(_diagLog, 1 , 28 , "Sender is already initialized");
6539
+ }
6540
+ _self.SetConfig(config);
6541
+ _isInitialized = true;
6542
+ };
6543
+ _self["_getDbgPlgTargets"] = function () {
6544
+ return [_isInitialized, _isOneDs, _disableCredentials, _enableSendPromise];
6545
+ };
6546
+ _self.SetConfig = function (config) {
6547
+ try {
6548
+ _onCompleteFuncs = config.senderOnCompleteCallBack || {};
6549
+ _disableCredentials = !!config.disableCredentials;
6550
+ _isOneDs = !!config.isOneDs;
6551
+ _enableSendPromise = !!config.enableSendPromise;
6552
+ _disableXhr = !!config.disableXhr;
6553
+ _disableBeacon = !!config.disableBeacon;
6554
+ _disableBeaconSync = !!config.disableBeaconSync;
6555
+ _fallbackInst = { sendPOST: _xhrSender };
6556
+ if (_disableCredentials) {
6557
+ var location_1 = getLocation();
6558
+ if (location_1 && location_1.protocol && location_1.protocol[_DYN_TO_LOWER_CASE ]() === "file:") {
6559
+ _sendCredentials = false;
6560
+ }
6561
+ }
6562
+ return true;
6563
+ }
6564
+ catch (e) {
6565
+ }
6566
+ return false;
6567
+ };
6568
+ _self.getSyncFetchPayload = function () {
6569
+ return _syncFetchPayload;
6570
+ };
6571
+ _self.getXhrInst = function (transports, sync) {
6572
+ if (transports && transports[_DYN_LENGTH$1 ]) {
6573
+ return _getSenderInterface(transports, sync);
6574
+ }
6575
+ return null;
6576
+ };
6577
+ _self.getFallbackInst = function () {
6578
+ return _fallbackInst;
6579
+ };
6580
+ _self._doTeardown = function (unloadCtx, unloadState) {
6581
+ _initDefaults();
6582
+ };
6583
+ function _onSuccess(res, onComplete) {
6584
+ _doOnComplete(onComplete, 200, {}, res);
6585
+ }
6586
+ function _onError(message, onComplete) {
6587
+ _throwInternal(_diagLog, 2 , 26 , "Failed to send telemetry.", { message: message });
6588
+ _doOnComplete(onComplete, 400, {});
6589
+ }
6590
+ function _onNoPayloadUrl(onComplete) {
6591
+ _onError("No endpoint url is provided for the batch", onComplete);
6592
+ }
6593
+ function _getSenderInterface(transports, syncSupport) {
6594
+ var transportType = null;
6595
+ var sendPostFunc = null;
6596
+ var lp = 0;
6597
+ while (sendPostFunc == null && lp < transports[_DYN_LENGTH$1 ]) {
6598
+ transportType = transports[lp];
6599
+ if (!_disableXhr && transportType === 1 ) {
6600
+ if (useXDomainRequest()) {
6601
+ sendPostFunc = _xdrSender;
6602
+ }
6603
+ else if (isXhrSupported()) {
6604
+ sendPostFunc = _xhrSender;
6605
+ }
6606
+ }
6607
+ else if (transportType === 2 && isFetchSupported(syncSupport)) {
6608
+ sendPostFunc = _doFetchSender;
6609
+ }
6610
+ else if (transportType === 3 && isBeaconsSupported() && (syncSupport ? !_disableBeaconSync : !_disableBeacon)) {
6611
+ sendPostFunc = _beaconSender;
6612
+ }
6613
+ lp++;
6614
+ }
6615
+ if (sendPostFunc) {
6616
+ return {
6617
+ sendPOST: sendPostFunc
6618
+ };
6619
+ }
6620
+ return null;
6621
+ }
6622
+ function _doOnComplete(oncomplete, status, headers, response) {
6623
+ try {
6624
+ oncomplete && oncomplete(status, headers, response);
6625
+ }
6626
+ catch (e) {
6627
+ }
6628
+ }
6629
+ function _doBeaconSend(payload, oncomplete) {
6630
+ var nav = getNavigator();
6631
+ var url = payload[_DYN_URL_STRING ];
6632
+ if (!url) {
6633
+ _onNoPayloadUrl(oncomplete);
6634
+ return true;
6635
+ }
6636
+ var data = payload[_DYN_DATA$1 ];
6637
+ var plainTextBatch = new Blob([data], { type: "text/plain;charset=UTF-8" });
6638
+ var queued = nav.sendBeacon(url, plainTextBatch);
6639
+ return queued;
6640
+ }
6641
+ function _beaconSender(payload, oncomplete, sync) {
6642
+ var data = payload[_DYN_DATA$1 ];
6643
+ if (data) {
6644
+ if (!_doBeaconSend(payload, oncomplete)) {
6645
+ var onRetry = _onCompleteFuncs && _onCompleteFuncs.beaconOnRetry;
6646
+ if (onRetry && isFunction(onRetry)) {
6647
+ onRetry(payload, oncomplete, _doBeaconSend);
6648
+ }
6649
+ else {
6650
+ _fallbackInst && _fallbackInst.sendPOST(payload, oncomplete, true);
6651
+ _throwInternal(_diagLog, 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
6652
+ }
6653
+ }
6654
+ else {
6655
+ _onSuccess(null, oncomplete);
6656
+ }
6657
+ }
6658
+ return;
6659
+ }
6660
+ function _xhrSender(payload, oncomplete, sync) {
6661
+ var thePromise;
6662
+ var resolveFunc;
6663
+ var rejectFunc;
6664
+ var headers = payload.headers || {};
6665
+ if (!sync && _enableSendPromise) {
6666
+ thePromise = createPromise(function (resolve, reject) {
6667
+ resolveFunc = resolve;
6668
+ rejectFunc = reject;
6669
+ });
6670
+ }
6671
+ var xhr = new XMLHttpRequest();
6672
+ var endPointUrl = payload[_DYN_URL_STRING ];
6673
+ if (!endPointUrl) {
6674
+ _onNoPayloadUrl(oncomplete);
6675
+ resolveFunc && resolveFunc(false);
6676
+ return;
6677
+ }
6678
+ try {
6679
+ xhr[DisabledPropertyName] = true;
6680
+ }
6681
+ catch (e) {
6682
+ }
6683
+ xhr.open("POST", endPointUrl, !sync);
6684
+ xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
6685
+ if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
6686
+ xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
6687
+ }
6688
+ arrForEach(objKeys(headers), function (headerName) {
6689
+ xhr[_DYN_SET_REQUEST_HEADER ](headerName, headers[headerName]);
6690
+ });
6691
+ xhr.onreadystatechange = function () {
6692
+ var response = getResponseText(xhr);
6693
+ var onReadyFunc = _onCompleteFuncs && _onCompleteFuncs.xhrOnComplete;
6694
+ var onReadyFuncExist = onReadyFunc && isFunction(onReadyFunc);
6695
+ if (onReadyFuncExist) {
6696
+ onReadyFunc(xhr, oncomplete, payload);
6697
+ }
6698
+ if (xhr.readyState === 4) {
6699
+ if (!onReadyFuncExist) {
6700
+ _doOnComplete(oncomplete, xhr.status, {}, response);
6701
+ }
6702
+ resolveFunc && resolveFunc(true);
6703
+ }
6704
+ };
6705
+ xhr.onerror = function (event) {
6706
+ _doOnComplete(oncomplete, 400, {}, formatErrorMessageXhr(xhr));
6707
+ rejectFunc && rejectFunc(event);
6708
+ };
6709
+ xhr.ontimeout = function () {
6710
+ _doOnComplete(oncomplete, 500, {}, formatErrorMessageXhr(xhr));
6711
+ resolveFunc && resolveFunc(false);
6712
+ };
6713
+ xhr.send(payload[_DYN_DATA$1 ]);
6714
+ return thePromise;
6715
+ }
6716
+ function _doFetchSender(payload, oncomplete, sync) {
6717
+ var _a;
6718
+ var endPointUrl = payload[_DYN_URL_STRING ];
6719
+ var batch = payload[_DYN_DATA$1 ];
6720
+ var plainTextBatch = new Blob([batch], { type: "application/json" });
6721
+ var thePromise;
6722
+ var resolveFunc;
6723
+ var rejectFunc;
6724
+ var requestHeaders = new Headers();
6725
+ var batchLength = batch[_DYN_LENGTH$1 ];
6726
+ var ignoreResponse = false;
6727
+ var responseHandled = false;
6728
+ var headers = payload.headers || {};
6729
+ if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
6730
+ requestHeaders.append(RequestHeaders[6 ], RequestHeaders[7 ]);
6731
+ }
6732
+ arrForEach(objKeys(headers), function (headerName) {
6733
+ requestHeaders.append(headerName, headers[headerName]);
6734
+ });
6735
+ var init = (_a = {
6736
+ method: "POST",
6737
+ headers: requestHeaders,
6738
+ body: plainTextBatch
6739
+ },
6740
+ _a[DisabledPropertyName] = true
6741
+ ,
6742
+ _a);
6743
+ if (_sendCredentials && _isOneDs) {
6744
+ init.credentials = "include";
6745
+ }
6746
+ if (sync) {
6747
+ init.keepalive = true;
6748
+ ignoreResponse = true;
6749
+ _syncFetchPayload += batchLength;
6750
+ }
6751
+ var request = new Request(endPointUrl, init);
6752
+ try {
6753
+ request[DisabledPropertyName] = true;
6754
+ }
6755
+ catch (e) {
6756
+ }
6757
+ if (!sync && _enableSendPromise) {
6758
+ thePromise = createPromise(function (resolve, reject) {
6759
+ resolveFunc = resolve;
6760
+ rejectFunc = reject;
6761
+ });
6762
+ }
6763
+ if (!endPointUrl) {
6764
+ _onNoPayloadUrl(oncomplete);
6765
+ resolveFunc && resolveFunc(false);
6766
+ return;
6767
+ }
6768
+ try {
6769
+ doAwaitResponse(fetch(request), function (result) {
6770
+ if (sync) {
6771
+ _syncFetchPayload -= batchLength;
6772
+ batchLength = 0;
6773
+ }
6774
+ if (!responseHandled) {
6775
+ responseHandled = true;
6776
+ if (!result.rejected) {
6777
+ var response_1 = result.value;
6778
+ if (!response_1.ok) {
6779
+ _doOnComplete(oncomplete, 400, {}, response_1.statusText);
6780
+ resolveFunc && resolveFunc(false);
6781
+ }
6782
+ else {
6783
+ doAwaitResponse(response_1.text(), function (resp) {
6784
+ var status = response_1.status;
6785
+ var onCompleteFunc = _onCompleteFuncs.fetchOnComplete;
6786
+ if (onCompleteFunc && isFunction(onCompleteFunc)) {
6787
+ onCompleteFunc(response_1, oncomplete, resp.value || STR_EMPTY, payload);
6788
+ }
6789
+ else {
6790
+ _doOnComplete(oncomplete, status, {}, resp.value || STR_EMPTY);
6791
+ }
6792
+ resolveFunc && resolveFunc(true);
6793
+ });
6794
+ }
6795
+ }
6796
+ else {
6797
+ _doOnComplete(oncomplete, 400, {}, result[_DYN_REASON ] && result[_DYN_REASON ][_DYN_MESSAGE ]);
6798
+ rejectFunc && rejectFunc(result[_DYN_REASON ]);
6799
+ }
6800
+ }
6801
+ });
6802
+ }
6803
+ catch (e) {
6804
+ if (!responseHandled) {
6805
+ _doOnComplete(oncomplete, 400, {}, dumpObj(e));
6806
+ rejectFunc && rejectFunc(e);
6807
+ }
6808
+ }
6809
+ if (ignoreResponse && !responseHandled) {
6810
+ responseHandled = true;
6811
+ _doOnComplete(oncomplete, 200, {});
6812
+ resolveFunc && resolveFunc(true);
6813
+ }
6814
+ return thePromise;
6815
+ }
6816
+ function _xdrSender(payload, oncomplete, sync) {
6817
+ var _window = getWindow();
6818
+ var xdr = new XDomainRequest();
6819
+ var data = payload[_DYN_DATA$1 ];
6820
+ xdr.onload = function () {
6821
+ var response = getResponseText(xdr);
6822
+ var onloadFunc = _onCompleteFuncs && _onCompleteFuncs.xdrOnComplete;
6823
+ if (onloadFunc && isFunction(onloadFunc)) {
6824
+ onloadFunc(xdr, oncomplete, payload);
6825
+ }
6826
+ else {
6827
+ _doOnComplete(oncomplete, 200, {}, response);
6828
+ }
6829
+ };
6830
+ xdr.onerror = function () {
6831
+ _doOnComplete(oncomplete, 400, {}, formatErrorMessageXdr(xdr));
6832
+ };
6833
+ xdr.ontimeout = function () {
6834
+ _doOnComplete(oncomplete, 500, {});
6835
+ };
6836
+ xdr.onprogress = function () { };
6837
+ var hostingProtocol = _window && _window[_DYN_LOCATION ] && _window[_DYN_LOCATION ].protocol || "";
6838
+ var endpoint = payload[_DYN_URL_STRING ];
6839
+ if (!endpoint) {
6840
+ _onNoPayloadUrl(oncomplete);
6841
+ return;
6842
+ }
6843
+ if (endpoint.lastIndexOf(hostingProtocol, 0) !== 0) {
6844
+ var msg = "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.";
6845
+ _throwInternal(_diagLog, 2 , 40 , ". " + msg);
6846
+ _onError(msg, oncomplete);
6847
+ return;
6848
+ }
6849
+ var endpointUrl = endpoint.replace(/^(https?:)/, "");
6850
+ xdr.open("POST", endpointUrl);
6851
+ xdr.send(data);
6852
+ }
6853
+ function _initDefaults() {
6854
+ _syncFetchPayload = 0;
6855
+ _isInitialized = false;
6856
+ _enableSendPromise = false;
6857
+ _diagLog = null;
6858
+ _isOneDs = null;
6859
+ _onCompleteFuncs = null;
6860
+ _disableCredentials = null;
6861
+ _fallbackInst = null;
6862
+ _disableXhr = false;
6863
+ _disableBeacon = false;
6864
+ _disableBeaconSync = false;
6865
+ }
6866
+ });
6867
+ }
6868
+ SenderPostManager.__ieDyn=1;
6869
+ return SenderPostManager;
6870
+ }());
6871
+
6464
6872
  function _disableEvents(target, evtNamespace) {
6465
6873
  eventOff(target, null, null, evtNamespace);
6466
6874
  }
@@ -6599,43 +7007,42 @@ var _DYN_EVENTS_LIMIT_IN_MEM = "eventsLimitInMem";
6599
7007
  var _DYN_PUSH = "push";
6600
7008
  var _DYN_EMIT_LINE_DELIMITED_0 = "emitLineDelimitedJson";
6601
7009
  var _DYN_CLEAR = "clear";
6602
- var _DYN_BATCH_PAYLOADS = "batchPayloads";
6603
7010
  var _DYN_CREATE_NEW = "createNew";
6604
7011
  var _DYN_MARK_AS_SENT = "markAsSent";
6605
7012
  var _DYN_CLEAR_SENT = "clearSent";
6606
7013
  var _DYN_BUFFER_OVERRIDE = "bufferOverride";
6607
7014
  var _DYN__BUFFER__KEY = "BUFFER_KEY";
6608
7015
  var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
6609
- var _DYN_CONCAT = "concat";
6610
7016
  var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
6611
- var _DYN_SEND_POST = "sendPOST";
6612
7017
  var _DYN_TRIGGER_SEND = "triggerSend";
6613
7018
  var _DYN_DIAG_LOG = "diagLog";
7019
+ var _DYN_INITIALIZE = "initialize";
6614
7020
  var _DYN__SENDER = "_sender";
6615
7021
  var _DYN_CUSTOM_HEADERS = "customHeaders";
6616
7022
  var _DYN_MAX_BATCH_SIZE_IN_BY1 = "maxBatchSizeInBytes";
6617
7023
  var _DYN_ONUNLOAD_DISABLE_BEA2 = "onunloadDisableBeacon";
6618
7024
  var _DYN_IS_BEACON_API_DISABL3 = "isBeaconApiDisabled";
6619
7025
  var _DYN_ALWAYS_USE_XHR_OVERR4 = "alwaysUseXhrOverride";
7026
+ var _DYN_DISABLE_XHR = "disableXhr";
6620
7027
  var _DYN_ENABLE_SESSION_STORA5 = "enableSessionStorageBuffer";
6621
7028
  var _DYN__BUFFER = "_buffer";
6622
7029
  var _DYN_ONUNLOAD_DISABLE_FET6 = "onunloadDisableFetch";
6623
7030
  var _DYN_DISABLE_SEND_BEACON_7 = "disableSendBeaconSplit";
6624
7031
  var _DYN_INSTRUMENTATION_KEY$1 = "instrumentationKey";
7032
+ var _DYN_ENABLE_SEND_PROMISE = "enableSendPromise";
7033
+ var _DYN_GET_XHR_INST = "getXhrInst";
6625
7034
  var _DYN_UNLOAD_TRANSPORTS = "unloadTransports";
6626
7035
  var _DYN_CONVERT_UNDEFINED = "convertUndefined";
6627
7036
  var _DYN_MAX_BATCH_INTERVAL = "maxBatchInterval";
6628
7037
  var _DYN_SERIALIZE = "serialize";
6629
- var _DYN__XHR_READY_STATE_CHA8 = "_xhrReadyStateChange";
6630
7038
  var _DYN__ON_ERROR = "_onError";
6631
7039
  var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
6632
7040
  var _DYN__ON_SUCCESS = "_onSuccess";
6633
7041
  var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
6634
7042
  var _DYN_ITEMS_RECEIVED = "itemsReceived";
7043
+ var _DYN_ORI_PAYLOAD = "oriPayload";
6635
7044
  var _DYN_BASE_TYPE = "baseType";
6636
7045
  var _DYN_SAMPLE_RATE = "sampleRate";
6637
- var _DYN_ORI_PAYLOAD = "oriPayload";
6638
- var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
6639
7046
  var _DYN_EVENTS_SEND_REQUEST = "eventsSendRequest";
6640
7047
  var _DYN_GET_SAMPLING_SCORE = "getSamplingScore";
6641
7048
  var _DYN_GET_HASH_CODE_SCORE = "getHashCodeScore";
@@ -6749,7 +7156,7 @@ function EnvelopeCreatorInit(logger, telemetryItem) {
6749
7156
  }
6750
7157
  }
6751
7158
  var EnvelopeCreator = {
6752
- Version: '3.1.1-nightly3.2403-01'
7159
+ Version: '3.1.1-nightly3.2403-03'
6753
7160
  };
6754
7161
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
6755
7162
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -6940,7 +7347,7 @@ var BaseSendBuffer = /** @class */ (function () {
6940
7347
  _self.getItems = function () {
6941
7348
  return _buffer.slice(0);
6942
7349
  };
6943
- _self[_DYN_BATCH_PAYLOADS ] = function (payload) {
7350
+ _self.batchPayloads = function (payload) {
6944
7351
  if (payload && payload[_DYN_LENGTH ] > 0) {
6945
7352
  var batch = config[_DYN_EMIT_LINE_DELIMITED_0 ] ?
6946
7353
  payload.join("\n") :
@@ -6990,7 +7397,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
6990
7397
  dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {
6991
7398
  var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ]);
6992
7399
  var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
6993
- var buffer = _self._set(bufferItems[_DYN_CONCAT ](notDeliveredItems));
7400
+ var buffer = _self._set(bufferItems.concat(notDeliveredItems));
6994
7401
  if (buffer[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
6995
7402
  buffer[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
6996
7403
  }
@@ -7017,7 +7424,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
7017
7424
  _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], _self._set(_removePayloadsFromBuffer(payload, _self[_DYN__GET ]())));
7018
7425
  var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
7019
7426
  if (sentElements instanceof Array && payload instanceof Array) {
7020
- sentElements = sentElements[_DYN_CONCAT ](payload);
7427
+ sentElements = sentElements.concat(payload);
7021
7428
  if (sentElements[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
7022
7429
  _throwInternal(logger, 1 , 67 , "Sent buffer reached its maximum size: " + sentElements[_DYN_LENGTH ], true);
7023
7430
  sentElements[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
@@ -7250,7 +7657,7 @@ var HashCodeScoreGenerator = /** @class */ (function () {
7250
7657
  return 0;
7251
7658
  }
7252
7659
  while (input[_DYN_LENGTH ] < MIN_INPUT_LENGTH) {
7253
- input = input[_DYN_CONCAT ](input);
7660
+ input = input.concat(input);
7254
7661
  }
7255
7662
  var hash = 5381;
7256
7663
  for (var i = 0; i < input[_DYN_LENGTH ]; ++i) {
@@ -7330,18 +7737,7 @@ function _getResponseText(xhr) {
7330
7737
  return null;
7331
7738
  }
7332
7739
  function isOverrideFn(httpXHROverride) {
7333
- return httpXHROverride && httpXHROverride[_DYN_SEND_POST ];
7334
- }
7335
- function _prependTransports(theTransports, newTransports) {
7336
- if (newTransports) {
7337
- if (isNumber(newTransports)) {
7338
- theTransports = [newTransports][_DYN_CONCAT ](theTransports);
7339
- }
7340
- else if (isArray(newTransports)) {
7341
- theTransports = newTransports[_DYN_CONCAT ](theTransports);
7342
- }
7343
- }
7344
- return theTransports;
7740
+ return httpXHROverride && httpXHROverride.sendPOST;
7345
7741
  }
7346
7742
  var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
7347
7743
  endpointUrl: cfgDfValidate(isTruthy, DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH)
@@ -7354,7 +7750,7 @@ var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
7354
7750
  _a.isRetryDisabled = cfgDfBoolean(),
7355
7751
  _a[_DYN_IS_BEACON_API_DISABL3 ] = cfgDfBoolean(true),
7356
7752
  _a[_DYN_DISABLE_SEND_BEACON_7 ] = cfgDfBoolean(true),
7357
- _a.disableXhr = cfgDfBoolean(),
7753
+ _a[_DYN_DISABLE_XHR ] = cfgDfBoolean(),
7358
7754
  _a[_DYN_ONUNLOAD_DISABLE_FET6 ] = cfgDfBoolean(),
7359
7755
  _a[_DYN_ONUNLOAD_DISABLE_BEA2 ] = cfgDfBoolean(),
7360
7756
  _a[_DYN_INSTRUMENTATION_KEY$1 ] = UNDEFINED_VALUE,
@@ -7419,6 +7815,7 @@ var Sender = /** @class */ (function (_super) {
7419
7815
  var _xhrSend;
7420
7816
  var _fallbackSend;
7421
7817
  var _disableBeaconSplit;
7818
+ var _sendPostMgr;
7422
7819
  dynamicProto(Sender, _this, function (_self, _base) {
7423
7820
  _initDefaults();
7424
7821
  _self.pause = function () {
@@ -7463,11 +7860,11 @@ var Sender = /** @class */ (function (_super) {
7463
7860
  _self.addHeader = function (name, value) {
7464
7861
  _headers[name] = value;
7465
7862
  };
7466
- _self.initialize = function (config, core, extensions, pluginChain) {
7863
+ _self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
7467
7864
  if (_self.isInitialized()) {
7468
7865
  _throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 28 , "Sender is already initialized");
7469
7866
  }
7470
- _base.initialize(config, core, extensions, pluginChain);
7867
+ _base[_DYN_INITIALIZE ](config, core, extensions, pluginChain);
7471
7868
  var identifier = _self.identifier;
7472
7869
  _serializer = new Serializer(core.logger);
7473
7870
  _consecutiveErrors = 0;
@@ -7502,7 +7899,7 @@ var Sender = /** @class */ (function (_super) {
7502
7899
  _beaconOnUnloadSupported = senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ] === false && isBeaconsSupported();
7503
7900
  _beaconNormalSupported = senderConfig[_DYN_IS_BEACON_API_DISABL3 ] === false && isBeaconsSupported();
7504
7901
  _alwaysUseCustomSend = senderConfig[_DYN_ALWAYS_USE_XHR_OVERR4 ];
7505
- _disableXhr = !!senderConfig.disableXhr;
7902
+ _disableXhr = !!senderConfig[_DYN_DISABLE_XHR ];
7506
7903
  var bufferOverride = senderConfig[_DYN_BUFFER_OVERRIDE ];
7507
7904
  var canUseSessionStorage = !!senderConfig[_DYN_ENABLE_SESSION_STORA5 ] &&
7508
7905
  (!!bufferOverride || utlCanUseSessionStorage());
@@ -7544,13 +7941,21 @@ var Sender = /** @class */ (function (_super) {
7544
7941
  else {
7545
7942
  _customHeaders = null;
7546
7943
  }
7547
- _enableSendPromise = senderConfig.enableSendPromise;
7944
+ _enableSendPromise = senderConfig[_DYN_ENABLE_SEND_PROMISE ];
7945
+ var sendPostConfig = _getSendPostMgrConfig();
7946
+ if (!_sendPostMgr) {
7947
+ _sendPostMgr = new SenderPostManager();
7948
+ _sendPostMgr[_DYN_INITIALIZE ](sendPostConfig, diagLog);
7949
+ }
7950
+ else {
7951
+ _sendPostMgr.SetConfig(sendPostConfig);
7952
+ }
7548
7953
  var customInterface = senderConfig.httpXHROverride;
7549
7954
  var httpInterface = null;
7550
7955
  var syncInterface = null;
7551
- var theTransports = _prependTransports([3 , 1 , 2 ], senderConfig.transports);
7552
- httpInterface = _getSenderInterface(theTransports, false);
7553
- var xhrInterface = { sendPOST: _xhrSender };
7956
+ var theTransports = prependTransports([3 , 1 , 2 ], senderConfig.transports);
7957
+ httpInterface = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ](theTransports, false);
7958
+ var xhrInterface = _sendPostMgr && _sendPostMgr.getFallbackInst();
7554
7959
  _xhrSend = function (payload, isAsync) {
7555
7960
  return _doSend(xhrInterface, payload, isAsync);
7556
7961
  };
@@ -7564,11 +7969,11 @@ var Sender = /** @class */ (function (_super) {
7564
7969
  if (_fetchKeepAlive) {
7565
7970
  _syncUnloadSender = _fetchKeepAliveSender;
7566
7971
  }
7567
- var syncTransports = _prependTransports([3 , 1 ], senderConfig[_DYN_UNLOAD_TRANSPORTS ]);
7972
+ var syncTransports = prependTransports([3 , 1 ], senderConfig[_DYN_UNLOAD_TRANSPORTS ]);
7568
7973
  if (!_fetchKeepAlive) {
7569
7974
  syncTransports = syncTransports.filter(function (transport) { return transport !== 2 ; });
7570
7975
  }
7571
- syncInterface = _getSenderInterface(syncTransports, true);
7976
+ syncInterface = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ](syncTransports, true);
7572
7977
  syncInterface = _alwaysUseCustomSend ? customInterface : (syncInterface || customInterface);
7573
7978
  if ((_alwaysUseCustomSend || senderConfig[_DYN_UNLOAD_TRANSPORTS ] || !_syncUnloadSender) && syncInterface) {
7574
7979
  _syncUnloadSender = function (payload, isAsync) {
@@ -7610,10 +8015,8 @@ var Sender = /** @class */ (function (_super) {
7610
8015
  _self.isCompletelyIdle = function () {
7611
8016
  return !_paused && _syncFetchPayload === 0 && _self._buffer[_DYN_COUNT ]() === 0;
7612
8017
  };
7613
- _self[_DYN__XHR_READY_STATE_CHA8 ] = function (xhr, payload, countOfItemsInPayload) {
7614
- if (xhr.readyState === 4) {
7615
- _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, _formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
7616
- }
8018
+ _self._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {
8019
+ return _xhrReadyStateChange(xhr, payload, countOfItemsInPayload);
7617
8020
  };
7618
8021
  _self[_DYN_TRIGGER_SEND ] = function (async, forcedSender, sendReason) {
7619
8022
  if (async === void 0) { async = true; }
@@ -7689,7 +8092,7 @@ var Sender = /** @class */ (function (_super) {
7689
8092
  _self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
7690
8093
  }
7691
8094
  if (failed[_DYN_LENGTH ] > 0) {
7692
- _self[_DYN__ON_ERROR ](failed, _formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
8095
+ _self[_DYN__ON_ERROR ](failed, formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
7693
8096
  }
7694
8097
  if (retry[_DYN_LENGTH ] > 0) {
7695
8098
  _resendPayload(retry);
@@ -7702,22 +8105,89 @@ var Sender = /** @class */ (function (_super) {
7702
8105
  _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
7703
8106
  };
7704
8107
  _self._xdrOnLoad = function (xdr, payload) {
8108
+ return _xdrOnLoad(xdr, payload);
8109
+ };
8110
+ function _xdrOnLoad(xdr, payload) {
7705
8111
  var responseText = _getResponseText(xdr);
7706
8112
  if (xdr && (responseText + "" === "200" || responseText === "")) {
7707
8113
  _consecutiveErrors = 0;
7708
8114
  _self[_DYN__ON_SUCCESS ](payload, 0);
7709
8115
  }
7710
8116
  else {
7711
- var results = _parseResponse(responseText);
8117
+ var results = parseResponse(responseText);
7712
8118
  if (results && results.itemsReceived && results.itemsReceived > results[_DYN_ITEMS_ACCEPTED ]
7713
8119
  && !_isRetryDisabled) {
7714
8120
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, results);
7715
8121
  }
7716
8122
  else {
7717
- _self[_DYN__ON_ERROR ](payload, _formatErrorMessageXdr(xdr));
8123
+ _self[_DYN__ON_ERROR ](payload, formatErrorMessageXdr(xdr));
7718
8124
  }
7719
8125
  }
7720
- };
8126
+ }
8127
+ function _getSendPostMgrConfig() {
8128
+ var _a;
8129
+ try {
8130
+ var onCompleteFuncs = {
8131
+ xdrOnComplete: function (xdr, oncomplete, payload) {
8132
+ var data = _getPayloadArr(payload);
8133
+ if (!data) {
8134
+ return;
8135
+ }
8136
+ return _xdrOnLoad(xdr, data);
8137
+ },
8138
+ fetchOnComplete: function (response, onComplete, resValue, payload) {
8139
+ var data = _getPayloadArr(payload);
8140
+ if (!data) {
8141
+ return;
8142
+ }
8143
+ return _checkResponsStatus(response.status, data, response.url, data[_DYN_LENGTH ], response.statusText, resValue || "");
8144
+ },
8145
+ xhrOnComplete: function (request, oncomplete, payload) {
8146
+ var data = _getPayloadArr(payload);
8147
+ if (!data) {
8148
+ return;
8149
+ }
8150
+ return _xhrReadyStateChange(request, data, data[_DYN_LENGTH ]);
8151
+ },
8152
+ beaconOnRetry: function (data, onComplete, canSend) {
8153
+ return _onBeaconRetry(data, onComplete, canSend);
8154
+ }
8155
+ };
8156
+ var config = (_a = {},
8157
+ _a[_DYN_ENABLE_SEND_PROMISE ] = _enableSendPromise,
8158
+ _a.isOneDs = false,
8159
+ _a.disableCredentials = false,
8160
+ _a[_DYN_DISABLE_XHR ] = _disableXhr,
8161
+ _a.disableBeacon = !_beaconNormalSupported,
8162
+ _a.disableBeaconSync = !_beaconOnUnloadSupported,
8163
+ _a.senderOnCompleteCallBack = onCompleteFuncs,
8164
+ _a);
8165
+ return config;
8166
+ }
8167
+ catch (e) {
8168
+ }
8169
+ return null;
8170
+ }
8171
+ function _xhrReadyStateChange(xhr, payload, countOfItemsInPayload) {
8172
+ if (xhr.readyState === 4) {
8173
+ _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
8174
+ }
8175
+ }
8176
+ function _getPayloadArr(payload) {
8177
+ try {
8178
+ if (payload) {
8179
+ var internalPayload = payload;
8180
+ var arr = internalPayload[_DYN_ORI_PAYLOAD ];
8181
+ if (arr && arr[_DYN_LENGTH ]) {
8182
+ return arr;
8183
+ }
8184
+ return null;
8185
+ }
8186
+ }
8187
+ catch (e) {
8188
+ }
8189
+ return null;
8190
+ }
7721
8191
  function _validate(telemetryItem, diagLogger) {
7722
8192
  if (_disableTelemetry) {
7723
8193
  return false;
@@ -7813,36 +8283,6 @@ var Sender = /** @class */ (function (_super) {
7813
8283
  function _isSampledIn(envelope) {
7814
8284
  return _self._sample.isSampledIn(envelope);
7815
8285
  }
7816
- function _getSenderInterface(transports, syncSupport) {
7817
- var _a;
7818
- var transportType = null;
7819
- var sendPostFunc = null;
7820
- var lp = 0;
7821
- while (sendPostFunc == null && lp < transports[_DYN_LENGTH ]) {
7822
- transportType = transports[lp];
7823
- if (!_disableXhr && transportType === 1 ) {
7824
- if (useXDomainRequest()) {
7825
- sendPostFunc = _xdrSender;
7826
- }
7827
- else if (isXhrSupported()) {
7828
- sendPostFunc = _xhrSender;
7829
- }
7830
- }
7831
- else if (transportType === 2 && isFetchSupported(syncSupport)) {
7832
- sendPostFunc = _fetchSender;
7833
- }
7834
- else if (transportType === 3 && (syncSupport ? _beaconOnUnloadSupported : _beaconNormalSupported)) {
7835
- sendPostFunc = _beaconSender;
7836
- }
7837
- lp++;
7838
- }
7839
- if (sendPostFunc) {
7840
- return _a = {},
7841
- _a[_DYN_SEND_POST ] = sendPostFunc,
7842
- _a;
7843
- }
7844
- return null;
7845
- }
7846
8286
  function _getOnComplete(payload, status, headers, response) {
7847
8287
  if (status === 200 && payload) {
7848
8288
  _self._onSuccess(payload, payload[_DYN_LENGTH ]);
@@ -7857,7 +8297,7 @@ var Sender = /** @class */ (function (_super) {
7857
8297
  return _getOnComplete(payload, status, headers, response);
7858
8298
  };
7859
8299
  var payloadData = _getPayload(payload);
7860
- var sendPostFunc = sendInterface && sendInterface[_DYN_SEND_POST ];
8300
+ var sendPostFunc = sendInterface && sendInterface.sendPOST;
7861
8301
  if (sendPostFunc && payloadData) {
7862
8302
  if (markAsSent) {
7863
8303
  _self._buffer[_DYN_MARK_AS_SENT ](payload);
@@ -7869,7 +8309,7 @@ var Sender = /** @class */ (function (_super) {
7869
8309
  function _getPayload(payload) {
7870
8310
  var _a;
7871
8311
  if (isArray(payload) && payload[_DYN_LENGTH ] > 0) {
7872
- var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
8312
+ var batch = _self[_DYN__BUFFER ].batchPayloads(payload);
7873
8313
  var payloadData = (_a = {},
7874
8314
  _a[_DYN_DATA ] = batch,
7875
8315
  _a.urlString = _endpointUrl,
@@ -7882,9 +8322,6 @@ var Sender = /** @class */ (function (_super) {
7882
8322
  }
7883
8323
  return null;
7884
8324
  }
7885
- function _fetchSender(payload, oncomplete, sync) {
7886
- return _doFetchSender(payload, oncomplete, false);
7887
- }
7888
8325
  function _checkMaxSize(incomingPayload) {
7889
8326
  var incomingSize = incomingPayload ? incomingPayload[_DYN_LENGTH ] : 0;
7890
8327
  if ((_self[_DYN__BUFFER ].size() + incomingSize) > _maxBatchSizeInBytes) {
@@ -7898,7 +8335,7 @@ var Sender = /** @class */ (function (_super) {
7898
8335
  function _checkResponsStatus(status, payload, responseUrl, countOfItemsInPayload, errorMessage, res) {
7899
8336
  var response = null;
7900
8337
  if (!_self._appId) {
7901
- response = _parseResponse(res);
8338
+ response = parseResponse(res);
7902
8339
  if (response && response.appId) {
7903
8340
  _self._appId = response.appId;
7904
8341
  }
@@ -7930,7 +8367,7 @@ var Sender = /** @class */ (function (_super) {
7930
8367
  _checkAndUpdateEndPointUrl(responseUrl);
7931
8368
  if (status === 206) {
7932
8369
  if (!response) {
7933
- response = _parseResponse(res);
8370
+ response = parseResponse(res);
7934
8371
  }
7935
8372
  if (response && !_isRetryDisabled) {
7936
8373
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, response);
@@ -7958,223 +8395,61 @@ var Sender = /** @class */ (function (_super) {
7958
8395
  }
7959
8396
  return false;
7960
8397
  }
7961
- function _doOnComplete(oncomplete, status, headers, response) {
7962
- try {
7963
- oncomplete(status, headers, response);
7964
- }
7965
- catch (e) {
7966
- }
7967
- }
7968
8398
  function _doUnloadSend(payload, isAsync) {
7969
8399
  if (_syncUnloadSender) {
7970
8400
  _syncUnloadSender(payload, false);
7971
8401
  }
7972
8402
  else {
7973
- var payloadData = _getPayload(payload);
7974
- _self._buffer[_DYN_MARK_AS_SENT ](payload);
7975
- _beaconSender(payloadData);
8403
+ var beaconInst = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ]([3 ], true);
8404
+ return _doSend(beaconInst, payload, isAsync);
7976
8405
  }
7977
8406
  }
7978
- function _doBeaconSend(payload, oncomplete) {
7979
- var nav = getNavigator();
7980
- var url = _endpointUrl;
7981
- var buffer = _self[_DYN__BUFFER ];
7982
- var batch = buffer[_DYN_BATCH_PAYLOADS ](payload);
7983
- var plainTextBatch = new Blob([batch], { type: "text/plain;charset=UTF-8" });
7984
- var queued = nav.sendBeacon(url, plainTextBatch);
7985
- if (queued) {
7986
- _self._onSuccess(payload, payload[_DYN_LENGTH ]);
7987
- }
7988
- return queued;
7989
- }
7990
- function _beaconSender(payload, oncomplete, sync) {
8407
+ function _onBeaconRetry(payload, onComplete, canSend) {
7991
8408
  var internalPayload = payload;
7992
8409
  var data = internalPayload && internalPayload[_DYN_ORI_PAYLOAD ];
7993
- if (isArray(data) && data[_DYN_LENGTH ] > 0) {
7994
- if (!_doBeaconSend(data)) {
7995
- if (!_disableBeaconSplit) {
7996
- var droppedPayload = [];
7997
- for (var lp = 0; lp < data[_DYN_LENGTH ]; lp++) {
7998
- var thePayload = data[lp];
7999
- if (!_doBeaconSend([thePayload])) {
8000
- droppedPayload[_DYN_PUSH ](thePayload);
8001
- }
8002
- }
8003
- if (droppedPayload[_DYN_LENGTH ] > 0) {
8004
- _fallbackSend && _fallbackSend(droppedPayload, true);
8005
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
8006
- }
8410
+ if (!_disableBeaconSplit) {
8411
+ var droppedPayload = [];
8412
+ for (var lp = 0; lp < data[_DYN_LENGTH ]; lp++) {
8413
+ var thePayload = data[lp];
8414
+ var arr = [thePayload];
8415
+ var item = _getPayload(arr);
8416
+ if (!canSend(item, onComplete)) {
8417
+ droppedPayload[_DYN_PUSH ](thePayload);
8007
8418
  }
8008
8419
  else {
8009
- _fallbackSend && _fallbackSend(data, true);
8010
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
8420
+ _self._onSuccess(arr, arr[_DYN_LENGTH ]);
8011
8421
  }
8012
8422
  }
8013
- }
8014
- }
8015
- function _xhrSender(payload, oncomplete, sync) {
8016
- var internalPayload = payload;
8017
- var thePromise;
8018
- var resolveFunc;
8019
- var rejectFunc;
8020
- var xhr = new XMLHttpRequest();
8021
- var endPointUrl = _endpointUrl;
8022
- try {
8023
- xhr[DisabledPropertyName] = true;
8024
- }
8025
- catch (e) {
8026
- }
8027
- xhr.open("POST", endPointUrl, !sync);
8028
- xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
8029
- if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
8030
- xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
8031
- }
8032
- arrForEach(objKeys(_headers), function (headerName) {
8033
- xhr[_DYN_SET_REQUEST_HEADER ](headerName, _headers[headerName]);
8034
- });
8035
- xhr.onreadystatechange = function () {
8036
- var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
8037
- _self._xhrReadyStateChange(xhr, oriPayload, oriPayload[_DYN_LENGTH ]);
8038
- if (xhr.readyState === 4) {
8039
- resolveFunc && resolveFunc(true);
8423
+ if (droppedPayload[_DYN_LENGTH ] > 0) {
8424
+ _fallbackSend && _fallbackSend(droppedPayload, true);
8425
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
8040
8426
  }
8041
- };
8042
- xhr.onerror = function (event) {
8043
- _doOnComplete(oncomplete, 400, {}, _formatErrorMessageXhr(xhr));
8044
- rejectFunc && rejectFunc(event);
8045
- };
8046
- if (!sync && _enableSendPromise) {
8047
- thePromise = createPromise(function (resolve, reject) {
8048
- resolveFunc = resolve;
8049
- rejectFunc = reject;
8050
- });
8051
8427
  }
8052
- xhr.send(payload[_DYN_DATA ]);
8053
- return thePromise;
8428
+ else {
8429
+ _fallbackSend && _fallbackSend(data, true);
8430
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
8431
+ }
8054
8432
  }
8055
8433
  function _fetchKeepAliveSender(payload, isAsync) {
8056
- var onComplete = function (status, headers, response) {
8057
- return _getOnComplete(payload, status, headers, response);
8058
- };
8434
+ var transport = null;
8059
8435
  if (isArray(payload)) {
8060
8436
  var payloadSize = payload[_DYN_LENGTH ];
8061
8437
  for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
8062
8438
  payloadSize += payload[lp][_DYN_LENGTH ];
8063
8439
  }
8064
- var payloadData = _getPayload(payload);
8065
- _self._buffer[_DYN_MARK_AS_SENT ](payload);
8066
- if ((_syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
8067
- _doFetchSender(payloadData, onComplete, true);
8440
+ var syncFetchPayload = _sendPostMgr.getSyncFetchPayload();
8441
+ if ((syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
8442
+ transport = 2 ;
8068
8443
  }
8069
8444
  else if (isBeaconsSupported()) {
8070
- _beaconSender(payloadData);
8445
+ transport = 3 ;
8071
8446
  }
8072
8447
  else {
8073
- _fallbackSend && _fallbackSend(payload, true);
8448
+ transport = 1 ;
8074
8449
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with xhrSender.");
8075
8450
  }
8076
- }
8077
- }
8078
- function _doFetchSender(payload, oncomplete, sync) {
8079
- var _a;
8080
- var endPointUrl = _endpointUrl;
8081
- var internalPayload = payload;
8082
- var batch = internalPayload[_DYN_DATA ];
8083
- var plainTextBatch = new Blob([batch], { type: "application/json" });
8084
- var thePromise;
8085
- var resolveFunc;
8086
- var rejectFunc;
8087
- var requestHeaders = new Headers();
8088
- var batchLength = batch[_DYN_LENGTH ];
8089
- var ignoreResponse = false;
8090
- var responseHandled = false;
8091
- if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
8092
- requestHeaders.append(RequestHeaders[6 ], RequestHeaders[7 ]);
8093
- }
8094
- arrForEach(objKeys(_headers), function (headerName) {
8095
- requestHeaders.append(headerName, _headers[headerName]);
8096
- });
8097
- var init = (_a = {
8098
- method: "POST",
8099
- headers: requestHeaders,
8100
- body: plainTextBatch
8101
- },
8102
- _a[DisabledPropertyName] = true
8103
- ,
8104
- _a);
8105
- if (sync) {
8106
- init.keepalive = true;
8107
- ignoreResponse = true;
8108
- _syncFetchPayload += batchLength;
8109
- }
8110
- var request = new Request(endPointUrl, init);
8111
- try {
8112
- request[DisabledPropertyName] = true;
8113
- }
8114
- catch (e) {
8115
- }
8116
- if (!sync && _enableSendPromise) {
8117
- thePromise = createPromise(function (resolve, reject) {
8118
- resolveFunc = resolve;
8119
- rejectFunc = reject;
8120
- });
8121
- }
8122
- try {
8123
- doAwaitResponse(fetch(request), function (result) {
8124
- if (sync) {
8125
- _syncFetchPayload -= batchLength;
8126
- batchLength = 0;
8127
- }
8128
- if (!responseHandled) {
8129
- responseHandled = true;
8130
- if (!result.rejected) {
8131
- var response_1 = result.value;
8132
- if (!response_1.ok) {
8133
- _doOnComplete(oncomplete, 400, {}, response_1.statusText);
8134
- resolveFunc && resolveFunc(false);
8135
- }
8136
- else {
8137
- doAwaitResponse(response_1.text(), function (resp) {
8138
- var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
8139
- _checkResponsStatus(response_1.status, oriPayload, response_1.url, oriPayload[_DYN_LENGTH ], response_1.statusText, resp.value || "");
8140
- resolveFunc && resolveFunc(true);
8141
- });
8142
- }
8143
- }
8144
- else {
8145
- _doOnComplete(oncomplete, 400, {}, result.reason && result.reason.message);
8146
- rejectFunc && rejectFunc(result.reason);
8147
- }
8148
- }
8149
- });
8150
- }
8151
- catch (e) {
8152
- if (!responseHandled) {
8153
- _doOnComplete(oncomplete, 400, {}, dumpObj(e));
8154
- rejectFunc && rejectFunc(e);
8155
- }
8156
- }
8157
- if (ignoreResponse && !responseHandled) {
8158
- responseHandled = true;
8159
- _doOnComplete(oncomplete, 200, {});
8160
- resolveFunc && resolveFunc(true);
8161
- }
8162
- return thePromise;
8163
- }
8164
- function _parseResponse(response) {
8165
- try {
8166
- if (response && response !== "") {
8167
- var result = getJSON().parse(response);
8168
- if (result && result.itemsReceived && result.itemsReceived >= result[_DYN_ITEMS_ACCEPTED ] &&
8169
- result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH ]) {
8170
- return result;
8171
- }
8172
- }
8173
- }
8174
- catch (e) {
8175
- _throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
8176
- response: response
8177
- });
8451
+ var inst = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ]([transport], true);
8452
+ return _doSend(inst, payload, isAsync);
8178
8453
  }
8179
8454
  return null;
8180
8455
  }
@@ -8233,41 +8508,6 @@ var Sender = /** @class */ (function (_super) {
8233
8508
  || statusCode === 503
8234
8509
  || statusCode === 504;
8235
8510
  }
8236
- function _formatErrorMessageXhr(xhr, message) {
8237
- if (xhr) {
8238
- return "XMLHttpRequest,Status:" + xhr.status + ",Response:" + _getResponseText(xhr) || xhr.response || "";
8239
- }
8240
- return message;
8241
- }
8242
- function _xdrSender(payload, oncomplete, sync) {
8243
- var internalPayload = payload;
8244
- var _window = getWindow();
8245
- var xdr = new XDomainRequest();
8246
- var data = internalPayload[_DYN_DATA ];
8247
- xdr.onload = function () {
8248
- var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
8249
- _self._xdrOnLoad(xdr, oriPayload);
8250
- };
8251
- xdr.onerror = function () {
8252
- _doOnComplete(oncomplete, 400, {}, _formatErrorMessageXdr(xdr));
8253
- };
8254
- var hostingProtocol = _window && _window.location && _window.location.protocol || "";
8255
- if (_endpointUrl.lastIndexOf(hostingProtocol, 0) !== 0) {
8256
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " +
8257
- "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.");
8258
- _self._buffer[_DYN_CLEAR ]();
8259
- return;
8260
- }
8261
- var endpointUrl = _endpointUrl.replace(/^(https?:)/, "");
8262
- xdr.open("POST", endpointUrl);
8263
- xdr.send(data);
8264
- }
8265
- function _formatErrorMessageXdr(xdr, message) {
8266
- if (xdr) {
8267
- return "XDomainRequest,Response:" + _getResponseText(xdr) || "";
8268
- }
8269
- return message;
8270
- }
8271
8511
  function _getNotifyMgr() {
8272
8512
  var func = "getNotifyMgr";
8273
8513
  if (_self.core[func]) {
@@ -8328,6 +8568,7 @@ var Sender = /** @class */ (function (_super) {
8328
8568
  _disableBeaconSplit = false;
8329
8569
  _xhrSend = null;
8330
8570
  _fallbackSend = null;
8571
+ _sendPostMgr = null;
8331
8572
  objDefine(_self, "_senderConfig", {
8332
8573
  g: function () {
8333
8574
  return objExtend({}, defaultAppInsightsChannelConfig);
@@ -8353,6 +8594,8 @@ var Sender = /** @class */ (function (_super) {
8353
8594
 
8354
8595
  var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
8355
8596
  var _DYN_CONNECTION_STRING = "connectionString";
8597
+ var _DYN_ENDPOINT_URL = "endpointUrl";
8598
+ var _DYN_USER_OVERRIDE_ENDPOI0 = "userOverrideEndpointUrl";
8356
8599
 
8357
8600
  var defaultConfigValues = {
8358
8601
  diagnosticLogInterval: cfgDfValidate(_chkDiagLevel, 10000)
@@ -8393,9 +8636,10 @@ var ApplicationInsights = /** @class */ (function () {
8393
8636
  if (_config[_DYN_CONNECTION_STRING ]) {
8394
8637
  var cs = parseConnectionString(_config[_DYN_CONNECTION_STRING ]);
8395
8638
  var ingest = cs.ingestionendpoint;
8396
- _config.endpointUrl = ingest ? (ingest + DEFAULT_BREEZE_PATH) : _config.endpointUrl;
8639
+ _config[_DYN_ENDPOINT_URL ] = _config[_DYN_USER_OVERRIDE_ENDPOI0 ] ? _config[_DYN_USER_OVERRIDE_ENDPOI0 ] : (ingest + DEFAULT_BREEZE_PATH);
8397
8640
  _config[_DYN_INSTRUMENTATION_KEY ] = cs.instrumentationkey || _config[_DYN_INSTRUMENTATION_KEY ];
8398
8641
  }
8642
+ _config[_DYN_ENDPOINT_URL ] = _config[_DYN_USER_OVERRIDE_ENDPOI0 ] ? _config[_DYN_USER_OVERRIDE_ENDPOI0 ] : _config[_DYN_ENDPOINT_URL ];
8399
8643
  }));
8400
8644
  core.initialize(_config, [new Sender()]);
8401
8645
  }