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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/browser/es5/{aib.3.1.1-nightly3.2402-20.cjs.js → aib.3.1.1-nightly3.2403-02.cjs.js} +617 -348
  2. package/browser/es5/aib.3.1.1-nightly3.2403-02.cjs.js.map +1 -0
  3. package/browser/es5/aib.3.1.1-nightly3.2403-02.cjs.min.js +6 -0
  4. package/browser/es5/aib.3.1.1-nightly3.2403-02.cjs.min.js.map +1 -0
  5. package/browser/es5/{aib.3.1.1-nightly3.2402-20.gbl.js → aib.3.1.1-nightly3.2403-02.gbl.js} +619 -350
  6. package/browser/es5/aib.3.1.1-nightly3.2403-02.gbl.js.map +1 -0
  7. package/browser/es5/aib.3.1.1-nightly3.2403-02.gbl.min.js +6 -0
  8. package/browser/es5/aib.3.1.1-nightly3.2403-02.gbl.min.js.map +1 -0
  9. package/browser/es5/aib.3.1.1-nightly3.2403-02.integrity.json +66 -0
  10. package/browser/es5/{aib.3.1.1-nightly3.2402-20.js → aib.3.1.1-nightly3.2403-02.js} +619 -350
  11. package/browser/es5/aib.3.1.1-nightly3.2403-02.js.map +1 -0
  12. package/browser/es5/aib.3.1.1-nightly3.2403-02.min.js +6 -0
  13. package/browser/es5/aib.3.1.1-nightly3.2403-02.min.js.map +1 -0
  14. package/browser/es5/aib.3.cjs.js +616 -347
  15. package/browser/es5/aib.3.cjs.js.map +1 -1
  16. package/browser/es5/aib.3.cjs.min.js +2 -2
  17. package/browser/es5/aib.3.cjs.min.js.map +1 -1
  18. package/browser/es5/aib.3.gbl.js +618 -349
  19. package/browser/es5/aib.3.gbl.js.map +1 -1
  20. package/browser/es5/aib.3.gbl.min.js +2 -2
  21. package/browser/es5/aib.3.gbl.min.js.map +1 -1
  22. package/browser/es5/aib.3.integrity.json +25 -25
  23. package/browser/es5/aib.3.js +618 -349
  24. package/browser/es5/aib.3.js.map +1 -1
  25. package/browser/es5/aib.3.min.js +2 -2
  26. package/browser/es5/aib.3.min.js.map +1 -1
  27. package/dist/es5/applicationinsights-web-basic.js +616 -347
  28. package/dist/es5/applicationinsights-web-basic.js.map +1 -1
  29. package/dist/es5/applicationinsights-web-basic.min.js +2 -2
  30. package/dist/es5/applicationinsights-web-basic.min.js.map +1 -1
  31. package/dist-es5/__DynamicConstants.js +3 -1
  32. package/dist-es5/__DynamicConstants.js.map +1 -1
  33. package/dist-es5/index.js +5 -3
  34. package/dist-es5/index.js.map +1 -1
  35. package/package.json +4 -4
  36. package/types/applicationinsights-web-basic.d.ts +1 -1
  37. package/types/applicationinsights-web-basic.namespaced.d.ts +44 -1
  38. package/browser/es5/aib.3.1.1-nightly3.2402-20.cjs.js.map +0 -1
  39. package/browser/es5/aib.3.1.1-nightly3.2402-20.cjs.min.js +0 -6
  40. package/browser/es5/aib.3.1.1-nightly3.2402-20.cjs.min.js.map +0 -1
  41. package/browser/es5/aib.3.1.1-nightly3.2402-20.gbl.js.map +0 -1
  42. package/browser/es5/aib.3.1.1-nightly3.2402-20.gbl.min.js +0 -6
  43. package/browser/es5/aib.3.1.1-nightly3.2402-20.gbl.min.js.map +0 -1
  44. package/browser/es5/aib.3.1.1-nightly3.2402-20.integrity.json +0 -66
  45. package/browser/es5/aib.3.1.1-nightly3.2402-20.js.map +0 -1
  46. package/browser/es5/aib.3.1.1-nightly3.2402-20.min.js +0 -6
  47. package/browser/es5/aib.3.1.1-nightly3.2402-20.min.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript Web SDK - Basic, 3.1.1-nightly3.2402-20
2
+ * Application Insights JavaScript Web SDK - Basic, 3.1.1-nightly3.2403-02
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -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_2402_20", msMod="__ms$mod__";
11
- var mods={}, modDetail=mods[modName]={}, ver="3.1.1-nightly3.2402-20";
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";
@@ -1745,6 +1745,9 @@ var STR_EVENTS_SENT = "eventsSent";
1745
1745
  var STR_EVENTS_DISCARDED = "eventsDiscarded";
1746
1746
  var STR_EVENTS_SEND_REQUEST = "eventsSendRequest";
1747
1747
  var STR_PERF_EVENT = "perfEvent";
1748
+ var STR_OFFLINE_STORE = "offlineEventsStored";
1749
+ var STR_OFFLINE_SENT = "offlineBatchSent";
1750
+ var STR_OFFLINE_DROP = "offlineBatchDrop";
1748
1751
  var STR_GET_PERF_MGR = "getPerfMgr";
1749
1752
  var STR_DOMAIN = "domain";
1750
1753
  var STR_PATH = "path";
@@ -1782,7 +1785,7 @@ function getExceptionName(object) {
1782
1785
  if (isError(object)) {
1783
1786
  return object[_DYN_NAME$2 ];
1784
1787
  }
1785
- return STR_EMPTY;
1788
+ return STR_EMPTY$1;
1786
1789
  }
1787
1790
  function setValue(target, field, value, valChk, srcChk) {
1788
1791
  var theValue = value;
@@ -1985,7 +1988,7 @@ function isIE() {
1985
1988
  var nav = getNavigator();
1986
1989
  if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
1987
1990
  _navUserAgentCheck = nav[_DYN_USER_AGENT ];
1988
- var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
1991
+ var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]();
1989
1992
  _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
1990
1993
  }
1991
1994
  return _isTrident;
@@ -1994,9 +1997,9 @@ function getIEVersion(userAgentStr) {
1994
1997
  if (userAgentStr === void 0) { userAgentStr = null; }
1995
1998
  if (!userAgentStr) {
1996
1999
  var navigator_1 = getNavigator() || {};
1997
- 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;
1998
2001
  }
1999
- var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
2002
+ var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]();
2000
2003
  if (strContains(ua, strMsie)) {
2001
2004
  var doc = getDocument() || {};
2002
2005
  return Math.max(parseInt(ua[_DYN_SPLIT$1 ](strMsie)[1]), (doc[strDocumentMode] || 0));
@@ -2105,7 +2108,7 @@ function newId(maxLength) {
2105
2108
  var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
2106
2109
  var number = random32() >>> 0;
2107
2110
  var chars = 0;
2108
- var result = STR_EMPTY;
2111
+ var result = STR_EMPTY$1;
2109
2112
  while (result[_DYN_LENGTH$2 ] < maxLength) {
2110
2113
  chars++;
2111
2114
  result += base64chars.charAt(number & 0x3F);
@@ -2143,11 +2146,11 @@ function _getCache(data, target) {
2143
2146
  }
2144
2147
  function createUniqueNamespace(name, includeVersion) {
2145
2148
  if (includeVersion === void 0) { includeVersion = false; }
2146
- return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
2149
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY$1) + instanceName);
2147
2150
  }
2148
2151
  function createElmNodeData(name) {
2149
2152
  var data = {
2150
- id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
2153
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY$1) + "." + version),
2151
2154
  accept: function (target) {
2152
2155
  return _canAcceptData(target);
2153
2156
  },
@@ -2900,9 +2903,9 @@ var _logFuncs = (_a$4 = {},
2900
2903
  _a$4);
2901
2904
  function _sanitizeDiagnosticText(text) {
2902
2905
  if (text) {
2903
- return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
2906
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
2904
2907
  }
2905
- return STR_EMPTY;
2908
+ return STR_EMPTY$1;
2906
2909
  }
2907
2910
  function _logToConsole(func, message) {
2908
2911
  var theConsole = getConsole();
@@ -2924,12 +2927,12 @@ var _InternalLogMessage = /** @class */ (function () {
2924
2927
  _self[_DYN_MESSAGE$1 ] =
2925
2928
  (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
2926
2929
  msgId;
2927
- var strProps = STR_EMPTY;
2930
+ var strProps = STR_EMPTY$1;
2928
2931
  if (hasJSON()) {
2929
2932
  strProps = getJSON().stringify(properties);
2930
2933
  }
2931
- var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
2932
- (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
2934
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
2935
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
2933
2936
  _self[_DYN_MESSAGE$1 ] += diagnosticText;
2934
2937
  }
2935
2938
  _InternalLogMessage.dataType = "MessageData";
@@ -3168,7 +3171,7 @@ function createCookieMgr(rootConfig, logger) {
3168
3171
  var result = false;
3169
3172
  if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {
3170
3173
  var values = {};
3171
- var theValue = strTrim(value || STR_EMPTY);
3174
+ var theValue = strTrim(value || STR_EMPTY$1);
3172
3175
  var idx = strIndexOf(theValue, ";");
3173
3176
  if (idx !== -1) {
3174
3177
  theValue = strTrim(strLeft(value, idx));
@@ -3183,11 +3186,11 @@ function createCookieMgr(rootConfig, logger) {
3183
3186
  if (expireMs > 0) {
3184
3187
  var expiry = new Date();
3185
3188
  expiry.setTime(expireMs);
3186
- 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);
3187
3190
  }
3188
3191
  }
3189
3192
  if (!_isIE) {
3190
- setValue(values, "max-age", STR_EMPTY + maxAgeSec, null, isUndefined);
3193
+ setValue(values, "max-age", STR_EMPTY$1 + maxAgeSec, null, isUndefined);
3191
3194
  }
3192
3195
  }
3193
3196
  var location_1 = getLocation();
@@ -3207,7 +3210,7 @@ function createCookieMgr(rootConfig, logger) {
3207
3210
  return result;
3208
3211
  },
3209
3212
  get: function (name) {
3210
- var value = STR_EMPTY;
3213
+ var value = STR_EMPTY$1;
3211
3214
  if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {
3212
3215
  value = _getCookieFn(name);
3213
3216
  }
@@ -3231,7 +3234,7 @@ function createCookieMgr(rootConfig, logger) {
3231
3234
  if (!isIE()) {
3232
3235
  values["max-age"] = "0";
3233
3236
  }
3234
- _delCookieFn(name, _formatCookieValue(STR_EMPTY, values));
3237
+ _delCookieFn(name, _formatCookieValue(STR_EMPTY$1, values));
3235
3238
  result = true;
3236
3239
  }
3237
3240
  return result;
@@ -3264,7 +3267,7 @@ function _extractParts(theValue) {
3264
3267
  if (theValue && theValue[_DYN_LENGTH$2 ]) {
3265
3268
  var parts = strTrim(theValue)[_DYN_SPLIT$1 ](";");
3266
3269
  arrForEach(parts, function (thePart) {
3267
- thePart = strTrim(thePart || STR_EMPTY);
3270
+ thePart = strTrim(thePart || STR_EMPTY$1);
3268
3271
  if (thePart) {
3269
3272
  var idx = strIndexOf(thePart, "=");
3270
3273
  if (idx === -1) {
@@ -3285,22 +3288,22 @@ function _formatDate(theDate, func) {
3285
3288
  return null;
3286
3289
  }
3287
3290
  function _formatCookieValue(value, values) {
3288
- var cookieValue = value || STR_EMPTY;
3291
+ var cookieValue = value || STR_EMPTY$1;
3289
3292
  objForEachKey(values, function (name, theValue) {
3290
- cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY);
3293
+ cookieValue += "; " + name + (!isNullOrUndefined(theValue) ? "=" + theValue : STR_EMPTY$1);
3291
3294
  });
3292
3295
  return cookieValue;
3293
3296
  }
3294
3297
  function _getCookieValue(name) {
3295
- var cookieValue = STR_EMPTY;
3298
+ var cookieValue = STR_EMPTY$1;
3296
3299
  !_doc && _getDoc();
3297
3300
  if (_doc.v) {
3298
- var theCookie = _doc.v[strCookie] || STR_EMPTY;
3301
+ var theCookie = _doc.v[strCookie] || STR_EMPTY$1;
3299
3302
  if (_parsedCookieValue !== theCookie) {
3300
3303
  _cookieCache = _extractParts(theCookie);
3301
3304
  _parsedCookieValue = theCookie;
3302
3305
  }
3303
- cookieValue = strTrim(_cookieCache[name] || STR_EMPTY);
3306
+ cookieValue = strTrim(_cookieCache[name] || STR_EMPTY$1);
3304
3307
  }
3305
3308
  return cookieValue;
3306
3309
  }
@@ -3407,6 +3410,28 @@ var NotificationManager = /** @class */ (function () {
3407
3410
  }
3408
3411
  }
3409
3412
  };
3413
+ _self[STR_OFFLINE_STORE ] = function (events) {
3414
+ if (events && events[_DYN_LENGTH$2 ]) {
3415
+ _runListeners(_listeners, STR_OFFLINE_STORE, true, function (listener) {
3416
+ listener[STR_OFFLINE_STORE ](events);
3417
+ });
3418
+ }
3419
+ };
3420
+ _self[STR_OFFLINE_SENT ] = function (batch) {
3421
+ if (batch && batch.data) {
3422
+ _runListeners(_listeners, STR_OFFLINE_SENT, true, function (listener) {
3423
+ listener[STR_OFFLINE_SENT ](batch);
3424
+ });
3425
+ }
3426
+ };
3427
+ _self[STR_OFFLINE_DROP ] = function (cnt, reason) {
3428
+ if (cnt > 0) {
3429
+ var rn_1 = reason || 0;
3430
+ _runListeners(_listeners, STR_OFFLINE_DROP, true, function (listener) {
3431
+ listener[STR_OFFLINE_DROP ](cnt, rn_1);
3432
+ });
3433
+ }
3434
+ };
3410
3435
  _self[_DYN_UNLOAD ] = function (isAsync) {
3411
3436
  var _finishUnload = function () {
3412
3437
  unloadHandler && unloadHandler.rm();
@@ -3630,7 +3655,7 @@ function initializePlugins(processContext, extensions) {
3630
3655
  }
3631
3656
  arrForEach(initPlugins, function (thePlugin) {
3632
3657
  var core = processContext[STR_CORE ]();
3633
- thePlugin[_DYN_INITIALIZE ](processContext.getCfg(), core, extensions, processContext[_DYN_GET_NEXT ]());
3658
+ thePlugin[_DYN_INITIALIZE$1 ](processContext.getCfg(), core, extensions, processContext[_DYN_GET_NEXT ]());
3634
3659
  pluginState = _getPluginState(thePlugin);
3635
3660
  if (!thePlugin[STR_CORE] && !pluginState[STR_CORE]) {
3636
3661
  pluginState[STR_CORE] = core;
@@ -3974,7 +3999,7 @@ function createTelemetryPluginProxy(plugin, config, core) {
3974
3999
  doPerf(itemCtx[STR_CORE ](), function () { return identifier + ":" + name; }, function () {
3975
4000
  hasRunContext[chainId] = true;
3976
4001
  try {
3977
- var nextId = nextProxy ? nextProxy._id : STR_EMPTY;
4002
+ var nextId = nextProxy ? nextProxy._id : STR_EMPTY$1;
3978
4003
  if (nextId) {
3979
4004
  hasRunContext[nextId] = false;
3980
4005
  }
@@ -4119,7 +4144,7 @@ var BaseTelemetryPlugin = /** @class */ (function () {
4119
4144
  var _hookContainer;
4120
4145
  _initDefaults();
4121
4146
  dynamicProto(BaseTelemetryPlugin, _self, function (_self) {
4122
- _self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
4147
+ _self[_DYN_INITIALIZE$1 ] = function (config, core, extensions, pluginChain) {
4123
4148
  _setDefaults(config, core, pluginChain);
4124
4149
  _isinitialized = true;
4125
4150
  };
@@ -4338,7 +4363,7 @@ function _validateExtensions(logger, channelPriority, allExtensions) {
4338
4363
  var channels = [];
4339
4364
  var extPriorities = {};
4340
4365
  arrForEach(allExtensions, function (ext) {
4341
- if (isNullOrUndefined(ext) || isNullOrUndefined(ext[_DYN_INITIALIZE ])) {
4366
+ if (isNullOrUndefined(ext) || isNullOrUndefined(ext[_DYN_INITIALIZE$1 ])) {
4342
4367
  throwError(strValidationError);
4343
4368
  }
4344
4369
  var extPriority = ext[STR_PRIORITY ];
@@ -4463,7 +4488,7 @@ var AppInsightsCore = /** @class */ (function () {
4463
4488
  return [_extensions];
4464
4489
  };
4465
4490
  _self[_DYN_IS_INITIALIZED ] = function () { return _isInitialized; };
4466
- _self[_DYN_INITIALIZE ] = function (config, extensions, logger, notificationManager) {
4491
+ _self[_DYN_INITIALIZE$1 ] = function (config, extensions, logger, notificationManager) {
4467
4492
  if (_isUnloading) {
4468
4493
  throwError(strSdkUnloadingError);
4469
4494
  }
@@ -4826,7 +4851,7 @@ var AppInsightsCore = /** @class */ (function () {
4826
4851
  }
4827
4852
  _pluginVersionString = _pluginVersionStringArr.join(";");
4828
4853
  }
4829
- return _pluginVersionString || STR_EMPTY;
4854
+ return _pluginVersionString || STR_EMPTY$1;
4830
4855
  }
4831
4856
  });
4832
4857
  objDefine(_self, "logger", {
@@ -5139,16 +5164,16 @@ var elmNodeData = createElmNodeData("events");
5139
5164
  var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
5140
5165
  function _normalizeNamespace(name) {
5141
5166
  if (name && name[_DYN_REPLACE ]) {
5142
- return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY);
5167
+ return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY$1);
5143
5168
  }
5144
5169
  return name;
5145
5170
  }
5146
5171
  function _getEvtNamespace(eventName, evtNamespace) {
5147
5172
  var _a;
5148
5173
  if (evtNamespace) {
5149
- var theNamespace_1 = STR_EMPTY;
5174
+ var theNamespace_1 = STR_EMPTY$1;
5150
5175
  if (isArray(evtNamespace)) {
5151
- theNamespace_1 = STR_EMPTY;
5176
+ theNamespace_1 = STR_EMPTY$1;
5152
5177
  arrForEach(evtNamespace, function (name) {
5153
5178
  name = _normalizeNamespace(name);
5154
5179
  if (name) {
@@ -5166,13 +5191,13 @@ function _getEvtNamespace(eventName, evtNamespace) {
5166
5191
  if (theNamespace_1[0] !== ".") {
5167
5192
  theNamespace_1 = "." + theNamespace_1;
5168
5193
  }
5169
- eventName = (eventName || STR_EMPTY) + theNamespace_1;
5194
+ eventName = (eventName || STR_EMPTY$1) + theNamespace_1;
5170
5195
  }
5171
5196
  }
5172
- var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
5197
+ var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY$1) || []);
5173
5198
  return _a = {},
5174
5199
  _a[_DYN_TYPE ] = parsedEvent[1],
5175
- _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("."),
5176
5201
  _a;
5177
5202
  }
5178
5203
  function _getRegisteredEvents(target, evtName, addDefault) {
@@ -5321,15 +5346,21 @@ var RequestHeaders = createValueMap({
5321
5346
  var _DYN_SPLIT = "split";
5322
5347
  var _DYN_LENGTH$1 = "length";
5323
5348
  var _DYN_TO_LOWER_CASE = "toLowerCase";
5349
+ var _DYN_LOCATION = "location";
5324
5350
  var _DYN_INGESTIONENDPOINT = "ingestionendpoint";
5325
5351
  var _DYN_TO_STRING$1 = "toString";
5326
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";
5327
5358
  var _DYN_REMOVE_ITEM = "removeItem";
5328
5359
  var _DYN_NAME$1 = "name";
5329
- var _DYN_MESSAGE = "message";
5330
5360
  var _DYN_COUNT$1 = "count";
5331
5361
  var _DYN_STRINGIFY$1 = "stringify";
5332
5362
  var _DYN_PATHNAME = "pathname";
5363
+ var _DYN_ITEMS_RECEIVED$1 = "itemsReceived";
5333
5364
  var _DYN_EXCEPTIONS = "exceptions";
5334
5365
  var _DYN_PARSED_STACK = "parsedStack";
5335
5366
  var _DYN_PROPERTIES = "properties";
@@ -5551,6 +5582,54 @@ function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName)
5551
5582
  data: data
5552
5583
  };
5553
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
+ }
5554
5633
 
5555
5634
  var StorageType = createEnumStyle({
5556
5635
  LocalStorage: 0 ,
@@ -5639,7 +5718,7 @@ function parseConnectionString(connectionString) {
5639
5718
  }, {});
5640
5719
  if (objKeys(result)[_DYN_LENGTH$1 ] > 0) {
5641
5720
  if (result.endpointsuffix) {
5642
- var locationPrefix = result.location ? result.location + "." : "";
5721
+ var locationPrefix = result[_DYN_LOCATION ] ? result[_DYN_LOCATION ] + "." : "";
5643
5722
  result[_DYN_INGESTIONENDPOINT ] = result[_DYN_INGESTIONENDPOINT ] || ("https://" + locationPrefix + "dc." + result.endpointsuffix);
5644
5723
  }
5645
5724
  result[_DYN_INGESTIONENDPOINT ] = result[_DYN_INGESTIONENDPOINT ] || DEFAULT_BREEZE_ENDPOINT;
@@ -5658,7 +5737,7 @@ var Envelope = /** @class */ (function () {
5658
5737
  _self.sampleRate = 100.0;
5659
5738
  _self.tags = {};
5660
5739
  _self[_DYN_NAME$1 ] = dataSanitizeString(logger, name) || strNotSpecified;
5661
- _self.data = data;
5740
+ _self[_DYN_DATA$1 ] = data;
5662
5741
  _self.time = toISOString(new Date());
5663
5742
  _self.aiDataContract = {
5664
5743
  time: 1 ,
@@ -5815,8 +5894,8 @@ function _getStackFromErrorObj(errorObj) {
5815
5894
  else if (getWindow() && getWindow()["opera"] && errorObj[strMessage]) {
5816
5895
  details = _getOperaStack(errorObj[_DYN_MESSAGE ]);
5817
5896
  }
5818
- else if (errorObj["reason"] && errorObj.reason[strStack]) {
5819
- details = _convertStackObj(errorObj.reason[strStack]);
5897
+ else if (errorObj["reason"] && errorObj[_DYN_REASON ][strStack]) {
5898
+ details = _convertStackObj(errorObj[_DYN_REASON ][strStack]);
5820
5899
  }
5821
5900
  else if (isString(errorObj)) {
5822
5901
  details = _convertStackObj(errorObj);
@@ -6287,7 +6366,7 @@ var RemoteDependencyData = /** @class */ (function () {
6287
6366
  _self.resultCode = resultCode + "";
6288
6367
  _self.type = dataSanitizeString(logger, requestAPI);
6289
6368
  var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);
6290
- _self.data = dataSanitizeUrl(logger, commandName) || dependencyFields.data;
6369
+ _self[_DYN_DATA$1 ] = dataSanitizeUrl(logger, commandName) || dependencyFields[_DYN_DATA$1 ];
6291
6370
  _self.target = dataSanitizeString(logger, dependencyFields.target);
6292
6371
  if (correlationContext) {
6293
6372
  _self.target = "".concat(_self.target, " | ").concat(correlationContext);
@@ -6461,6 +6540,360 @@ var ContextTagKeys = /** @class */ (function (_super) {
6461
6540
 
6462
6541
  var CtxTagKeys = new ContextTagKeys();
6463
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
+
6464
6897
  function _disableEvents(target, evtNamespace) {
6465
6898
  eventOff(target, null, null, evtNamespace);
6466
6899
  }
@@ -6599,43 +7032,42 @@ var _DYN_EVENTS_LIMIT_IN_MEM = "eventsLimitInMem";
6599
7032
  var _DYN_PUSH = "push";
6600
7033
  var _DYN_EMIT_LINE_DELIMITED_0 = "emitLineDelimitedJson";
6601
7034
  var _DYN_CLEAR = "clear";
6602
- var _DYN_BATCH_PAYLOADS = "batchPayloads";
6603
7035
  var _DYN_CREATE_NEW = "createNew";
6604
7036
  var _DYN_MARK_AS_SENT = "markAsSent";
6605
7037
  var _DYN_CLEAR_SENT = "clearSent";
6606
7038
  var _DYN_BUFFER_OVERRIDE = "bufferOverride";
6607
7039
  var _DYN__BUFFER__KEY = "BUFFER_KEY";
6608
7040
  var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
6609
- var _DYN_CONCAT = "concat";
6610
7041
  var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
6611
- var _DYN_SEND_POST = "sendPOST";
6612
7042
  var _DYN_TRIGGER_SEND = "triggerSend";
6613
7043
  var _DYN_DIAG_LOG = "diagLog";
7044
+ var _DYN_INITIALIZE = "initialize";
6614
7045
  var _DYN__SENDER = "_sender";
6615
7046
  var _DYN_CUSTOM_HEADERS = "customHeaders";
6616
7047
  var _DYN_MAX_BATCH_SIZE_IN_BY1 = "maxBatchSizeInBytes";
6617
7048
  var _DYN_ONUNLOAD_DISABLE_BEA2 = "onunloadDisableBeacon";
6618
7049
  var _DYN_IS_BEACON_API_DISABL3 = "isBeaconApiDisabled";
6619
7050
  var _DYN_ALWAYS_USE_XHR_OVERR4 = "alwaysUseXhrOverride";
7051
+ var _DYN_DISABLE_XHR = "disableXhr";
6620
7052
  var _DYN_ENABLE_SESSION_STORA5 = "enableSessionStorageBuffer";
6621
7053
  var _DYN__BUFFER = "_buffer";
6622
7054
  var _DYN_ONUNLOAD_DISABLE_FET6 = "onunloadDisableFetch";
6623
7055
  var _DYN_DISABLE_SEND_BEACON_7 = "disableSendBeaconSplit";
6624
7056
  var _DYN_INSTRUMENTATION_KEY$1 = "instrumentationKey";
7057
+ var _DYN_ENABLE_SEND_PROMISE = "enableSendPromise";
7058
+ var _DYN_GET_XHR_INST = "getXhrInst";
6625
7059
  var _DYN_UNLOAD_TRANSPORTS = "unloadTransports";
6626
7060
  var _DYN_CONVERT_UNDEFINED = "convertUndefined";
6627
7061
  var _DYN_MAX_BATCH_INTERVAL = "maxBatchInterval";
6628
7062
  var _DYN_SERIALIZE = "serialize";
6629
- var _DYN__XHR_READY_STATE_CHA8 = "_xhrReadyStateChange";
6630
7063
  var _DYN__ON_ERROR = "_onError";
6631
7064
  var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
6632
7065
  var _DYN__ON_SUCCESS = "_onSuccess";
6633
7066
  var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
6634
7067
  var _DYN_ITEMS_RECEIVED = "itemsReceived";
7068
+ var _DYN_ORI_PAYLOAD = "oriPayload";
6635
7069
  var _DYN_BASE_TYPE = "baseType";
6636
7070
  var _DYN_SAMPLE_RATE = "sampleRate";
6637
- var _DYN_ORI_PAYLOAD = "oriPayload";
6638
- var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
6639
7071
  var _DYN_EVENTS_SEND_REQUEST = "eventsSendRequest";
6640
7072
  var _DYN_GET_SAMPLING_SCORE = "getSamplingScore";
6641
7073
  var _DYN_GET_HASH_CODE_SCORE = "getHashCodeScore";
@@ -6749,7 +7181,7 @@ function EnvelopeCreatorInit(logger, telemetryItem) {
6749
7181
  }
6750
7182
  }
6751
7183
  var EnvelopeCreator = {
6752
- Version: '3.1.1-nightly3.2402-20'
7184
+ Version: '3.1.1-nightly3.2403-02'
6753
7185
  };
6754
7186
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
6755
7187
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -6940,7 +7372,7 @@ var BaseSendBuffer = /** @class */ (function () {
6940
7372
  _self.getItems = function () {
6941
7373
  return _buffer.slice(0);
6942
7374
  };
6943
- _self[_DYN_BATCH_PAYLOADS ] = function (payload) {
7375
+ _self.batchPayloads = function (payload) {
6944
7376
  if (payload && payload[_DYN_LENGTH ] > 0) {
6945
7377
  var batch = config[_DYN_EMIT_LINE_DELIMITED_0 ] ?
6946
7378
  payload.join("\n") :
@@ -6990,7 +7422,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
6990
7422
  dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {
6991
7423
  var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ]);
6992
7424
  var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
6993
- var buffer = _self._set(bufferItems[_DYN_CONCAT ](notDeliveredItems));
7425
+ var buffer = _self._set(bufferItems.concat(notDeliveredItems));
6994
7426
  if (buffer[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
6995
7427
  buffer[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
6996
7428
  }
@@ -7017,7 +7449,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
7017
7449
  _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], _self._set(_removePayloadsFromBuffer(payload, _self[_DYN__GET ]())));
7018
7450
  var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
7019
7451
  if (sentElements instanceof Array && payload instanceof Array) {
7020
- sentElements = sentElements[_DYN_CONCAT ](payload);
7452
+ sentElements = sentElements.concat(payload);
7021
7453
  if (sentElements[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
7022
7454
  _throwInternal(logger, 1 , 67 , "Sent buffer reached its maximum size: " + sentElements[_DYN_LENGTH ], true);
7023
7455
  sentElements[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
@@ -7250,7 +7682,7 @@ var HashCodeScoreGenerator = /** @class */ (function () {
7250
7682
  return 0;
7251
7683
  }
7252
7684
  while (input[_DYN_LENGTH ] < MIN_INPUT_LENGTH) {
7253
- input = input[_DYN_CONCAT ](input);
7685
+ input = input.concat(input);
7254
7686
  }
7255
7687
  var hash = 5381;
7256
7688
  for (var i = 0; i < input[_DYN_LENGTH ]; ++i) {
@@ -7330,18 +7762,7 @@ function _getResponseText(xhr) {
7330
7762
  return null;
7331
7763
  }
7332
7764
  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;
7765
+ return httpXHROverride && httpXHROverride.sendPOST;
7345
7766
  }
7346
7767
  var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
7347
7768
  endpointUrl: cfgDfValidate(isTruthy, DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH)
@@ -7354,7 +7775,7 @@ var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
7354
7775
  _a.isRetryDisabled = cfgDfBoolean(),
7355
7776
  _a[_DYN_IS_BEACON_API_DISABL3 ] = cfgDfBoolean(true),
7356
7777
  _a[_DYN_DISABLE_SEND_BEACON_7 ] = cfgDfBoolean(true),
7357
- _a.disableXhr = cfgDfBoolean(),
7778
+ _a[_DYN_DISABLE_XHR ] = cfgDfBoolean(),
7358
7779
  _a[_DYN_ONUNLOAD_DISABLE_FET6 ] = cfgDfBoolean(),
7359
7780
  _a[_DYN_ONUNLOAD_DISABLE_BEA2 ] = cfgDfBoolean(),
7360
7781
  _a[_DYN_INSTRUMENTATION_KEY$1 ] = UNDEFINED_VALUE,
@@ -7419,6 +7840,7 @@ var Sender = /** @class */ (function (_super) {
7419
7840
  var _xhrSend;
7420
7841
  var _fallbackSend;
7421
7842
  var _disableBeaconSplit;
7843
+ var _sendPostMgr;
7422
7844
  dynamicProto(Sender, _this, function (_self, _base) {
7423
7845
  _initDefaults();
7424
7846
  _self.pause = function () {
@@ -7463,11 +7885,11 @@ var Sender = /** @class */ (function (_super) {
7463
7885
  _self.addHeader = function (name, value) {
7464
7886
  _headers[name] = value;
7465
7887
  };
7466
- _self.initialize = function (config, core, extensions, pluginChain) {
7888
+ _self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
7467
7889
  if (_self.isInitialized()) {
7468
7890
  _throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 28 , "Sender is already initialized");
7469
7891
  }
7470
- _base.initialize(config, core, extensions, pluginChain);
7892
+ _base[_DYN_INITIALIZE ](config, core, extensions, pluginChain);
7471
7893
  var identifier = _self.identifier;
7472
7894
  _serializer = new Serializer(core.logger);
7473
7895
  _consecutiveErrors = 0;
@@ -7502,7 +7924,7 @@ var Sender = /** @class */ (function (_super) {
7502
7924
  _beaconOnUnloadSupported = senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ] === false && isBeaconsSupported();
7503
7925
  _beaconNormalSupported = senderConfig[_DYN_IS_BEACON_API_DISABL3 ] === false && isBeaconsSupported();
7504
7926
  _alwaysUseCustomSend = senderConfig[_DYN_ALWAYS_USE_XHR_OVERR4 ];
7505
- _disableXhr = !!senderConfig.disableXhr;
7927
+ _disableXhr = !!senderConfig[_DYN_DISABLE_XHR ];
7506
7928
  var bufferOverride = senderConfig[_DYN_BUFFER_OVERRIDE ];
7507
7929
  var canUseSessionStorage = !!senderConfig[_DYN_ENABLE_SESSION_STORA5 ] &&
7508
7930
  (!!bufferOverride || utlCanUseSessionStorage());
@@ -7544,13 +7966,21 @@ var Sender = /** @class */ (function (_super) {
7544
7966
  else {
7545
7967
  _customHeaders = null;
7546
7968
  }
7547
- _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
+ }
7548
7978
  var customInterface = senderConfig.httpXHROverride;
7549
7979
  var httpInterface = null;
7550
7980
  var syncInterface = null;
7551
- var theTransports = _prependTransports([3 , 1 , 2 ], senderConfig.transports);
7552
- httpInterface = _getSenderInterface(theTransports, false);
7553
- 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();
7554
7984
  _xhrSend = function (payload, isAsync) {
7555
7985
  return _doSend(xhrInterface, payload, isAsync);
7556
7986
  };
@@ -7564,11 +7994,11 @@ var Sender = /** @class */ (function (_super) {
7564
7994
  if (_fetchKeepAlive) {
7565
7995
  _syncUnloadSender = _fetchKeepAliveSender;
7566
7996
  }
7567
- var syncTransports = _prependTransports([3 , 1 ], senderConfig[_DYN_UNLOAD_TRANSPORTS ]);
7997
+ var syncTransports = prependTransports([3 , 1 ], senderConfig[_DYN_UNLOAD_TRANSPORTS ]);
7568
7998
  if (!_fetchKeepAlive) {
7569
7999
  syncTransports = syncTransports.filter(function (transport) { return transport !== 2 ; });
7570
8000
  }
7571
- syncInterface = _getSenderInterface(syncTransports, true);
8001
+ syncInterface = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ](syncTransports, true);
7572
8002
  syncInterface = _alwaysUseCustomSend ? customInterface : (syncInterface || customInterface);
7573
8003
  if ((_alwaysUseCustomSend || senderConfig[_DYN_UNLOAD_TRANSPORTS ] || !_syncUnloadSender) && syncInterface) {
7574
8004
  _syncUnloadSender = function (payload, isAsync) {
@@ -7610,10 +8040,8 @@ var Sender = /** @class */ (function (_super) {
7610
8040
  _self.isCompletelyIdle = function () {
7611
8041
  return !_paused && _syncFetchPayload === 0 && _self._buffer[_DYN_COUNT ]() === 0;
7612
8042
  };
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
- }
8043
+ _self._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {
8044
+ return _xhrReadyStateChange(xhr, payload, countOfItemsInPayload);
7617
8045
  };
7618
8046
  _self[_DYN_TRIGGER_SEND ] = function (async, forcedSender, sendReason) {
7619
8047
  if (async === void 0) { async = true; }
@@ -7689,7 +8117,7 @@ var Sender = /** @class */ (function (_super) {
7689
8117
  _self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
7690
8118
  }
7691
8119
  if (failed[_DYN_LENGTH ] > 0) {
7692
- _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(" ")));
7693
8121
  }
7694
8122
  if (retry[_DYN_LENGTH ] > 0) {
7695
8123
  _resendPayload(retry);
@@ -7702,22 +8130,89 @@ var Sender = /** @class */ (function (_super) {
7702
8130
  _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
7703
8131
  };
7704
8132
  _self._xdrOnLoad = function (xdr, payload) {
8133
+ return _xdrOnLoad(xdr, payload);
8134
+ };
8135
+ function _xdrOnLoad(xdr, payload) {
7705
8136
  var responseText = _getResponseText(xdr);
7706
8137
  if (xdr && (responseText + "" === "200" || responseText === "")) {
7707
8138
  _consecutiveErrors = 0;
7708
8139
  _self[_DYN__ON_SUCCESS ](payload, 0);
7709
8140
  }
7710
8141
  else {
7711
- var results = _parseResponse(responseText);
8142
+ var results = parseResponse(responseText);
7712
8143
  if (results && results.itemsReceived && results.itemsReceived > results[_DYN_ITEMS_ACCEPTED ]
7713
8144
  && !_isRetryDisabled) {
7714
8145
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, results);
7715
8146
  }
7716
8147
  else {
7717
- _self[_DYN__ON_ERROR ](payload, _formatErrorMessageXdr(xdr));
8148
+ _self[_DYN__ON_ERROR ](payload, formatErrorMessageXdr(xdr));
7718
8149
  }
7719
8150
  }
7720
- };
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
+ }
7721
8216
  function _validate(telemetryItem, diagLogger) {
7722
8217
  if (_disableTelemetry) {
7723
8218
  return false;
@@ -7813,36 +8308,6 @@ var Sender = /** @class */ (function (_super) {
7813
8308
  function _isSampledIn(envelope) {
7814
8309
  return _self._sample.isSampledIn(envelope);
7815
8310
  }
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
8311
  function _getOnComplete(payload, status, headers, response) {
7847
8312
  if (status === 200 && payload) {
7848
8313
  _self._onSuccess(payload, payload[_DYN_LENGTH ]);
@@ -7857,7 +8322,7 @@ var Sender = /** @class */ (function (_super) {
7857
8322
  return _getOnComplete(payload, status, headers, response);
7858
8323
  };
7859
8324
  var payloadData = _getPayload(payload);
7860
- var sendPostFunc = sendInterface && sendInterface[_DYN_SEND_POST ];
8325
+ var sendPostFunc = sendInterface && sendInterface.sendPOST;
7861
8326
  if (sendPostFunc && payloadData) {
7862
8327
  if (markAsSent) {
7863
8328
  _self._buffer[_DYN_MARK_AS_SENT ](payload);
@@ -7869,7 +8334,7 @@ var Sender = /** @class */ (function (_super) {
7869
8334
  function _getPayload(payload) {
7870
8335
  var _a;
7871
8336
  if (isArray(payload) && payload[_DYN_LENGTH ] > 0) {
7872
- var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
8337
+ var batch = _self[_DYN__BUFFER ].batchPayloads(payload);
7873
8338
  var payloadData = (_a = {},
7874
8339
  _a[_DYN_DATA ] = batch,
7875
8340
  _a.urlString = _endpointUrl,
@@ -7882,9 +8347,6 @@ var Sender = /** @class */ (function (_super) {
7882
8347
  }
7883
8348
  return null;
7884
8349
  }
7885
- function _fetchSender(payload, oncomplete, sync) {
7886
- return _doFetchSender(payload, oncomplete, false);
7887
- }
7888
8350
  function _checkMaxSize(incomingPayload) {
7889
8351
  var incomingSize = incomingPayload ? incomingPayload[_DYN_LENGTH ] : 0;
7890
8352
  if ((_self[_DYN__BUFFER ].size() + incomingSize) > _maxBatchSizeInBytes) {
@@ -7898,7 +8360,7 @@ var Sender = /** @class */ (function (_super) {
7898
8360
  function _checkResponsStatus(status, payload, responseUrl, countOfItemsInPayload, errorMessage, res) {
7899
8361
  var response = null;
7900
8362
  if (!_self._appId) {
7901
- response = _parseResponse(res);
8363
+ response = parseResponse(res);
7902
8364
  if (response && response.appId) {
7903
8365
  _self._appId = response.appId;
7904
8366
  }
@@ -7930,7 +8392,7 @@ var Sender = /** @class */ (function (_super) {
7930
8392
  _checkAndUpdateEndPointUrl(responseUrl);
7931
8393
  if (status === 206) {
7932
8394
  if (!response) {
7933
- response = _parseResponse(res);
8395
+ response = parseResponse(res);
7934
8396
  }
7935
8397
  if (response && !_isRetryDisabled) {
7936
8398
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, response);
@@ -7958,223 +8420,61 @@ var Sender = /** @class */ (function (_super) {
7958
8420
  }
7959
8421
  return false;
7960
8422
  }
7961
- function _doOnComplete(oncomplete, status, headers, response) {
7962
- try {
7963
- oncomplete(status, headers, response);
7964
- }
7965
- catch (e) {
7966
- }
7967
- }
7968
8423
  function _doUnloadSend(payload, isAsync) {
7969
8424
  if (_syncUnloadSender) {
7970
8425
  _syncUnloadSender(payload, false);
7971
8426
  }
7972
8427
  else {
7973
- var payloadData = _getPayload(payload);
7974
- _self._buffer[_DYN_MARK_AS_SENT ](payload);
7975
- _beaconSender(payloadData);
7976
- }
7977
- }
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 ]);
8428
+ var beaconInst = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ]([3 ], true);
8429
+ return _doSend(beaconInst, payload, isAsync);
7987
8430
  }
7988
- return queued;
7989
8431
  }
7990
- function _beaconSender(payload, oncomplete, sync) {
8432
+ function _onBeaconRetry(payload, onComplete, canSend) {
7991
8433
  var internalPayload = payload;
7992
8434
  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
- }
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);
8007
8443
  }
8008
8444
  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.");
8445
+ _self._onSuccess(arr, arr[_DYN_LENGTH ]);
8011
8446
  }
8012
8447
  }
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);
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.");
8040
8451
  }
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
8452
  }
8052
- xhr.send(payload[_DYN_DATA ]);
8053
- 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
+ }
8054
8457
  }
8055
8458
  function _fetchKeepAliveSender(payload, isAsync) {
8056
- var onComplete = function (status, headers, response) {
8057
- return _getOnComplete(payload, status, headers, response);
8058
- };
8459
+ var transport = null;
8059
8460
  if (isArray(payload)) {
8060
8461
  var payloadSize = payload[_DYN_LENGTH ];
8061
8462
  for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
8062
8463
  payloadSize += payload[lp][_DYN_LENGTH ];
8063
8464
  }
8064
- var payloadData = _getPayload(payload);
8065
- _self._buffer[_DYN_MARK_AS_SENT ](payload);
8066
- if ((_syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
8067
- _doFetchSender(payloadData, onComplete, true);
8465
+ var syncFetchPayload = _sendPostMgr.getSyncFetchPayload();
8466
+ if ((syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
8467
+ transport = 2 ;
8068
8468
  }
8069
8469
  else if (isBeaconsSupported()) {
8070
- _beaconSender(payloadData);
8470
+ transport = 3 ;
8071
8471
  }
8072
8472
  else {
8073
- _fallbackSend && _fallbackSend(payload, true);
8473
+ transport = 1 ;
8074
8474
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with xhrSender.");
8075
8475
  }
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
- });
8476
+ var inst = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ]([transport], true);
8477
+ return _doSend(inst, payload, isAsync);
8178
8478
  }
8179
8479
  return null;
8180
8480
  }
@@ -8233,41 +8533,6 @@ var Sender = /** @class */ (function (_super) {
8233
8533
  || statusCode === 503
8234
8534
  || statusCode === 504;
8235
8535
  }
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
8536
  function _getNotifyMgr() {
8272
8537
  var func = "getNotifyMgr";
8273
8538
  if (_self.core[func]) {
@@ -8328,6 +8593,7 @@ var Sender = /** @class */ (function (_super) {
8328
8593
  _disableBeaconSplit = false;
8329
8594
  _xhrSend = null;
8330
8595
  _fallbackSend = null;
8596
+ _sendPostMgr = null;
8331
8597
  objDefine(_self, "_senderConfig", {
8332
8598
  g: function () {
8333
8599
  return objExtend({}, defaultAppInsightsChannelConfig);
@@ -8353,6 +8619,8 @@ var Sender = /** @class */ (function (_super) {
8353
8619
 
8354
8620
  var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
8355
8621
  var _DYN_CONNECTION_STRING = "connectionString";
8622
+ var _DYN_ENDPOINT_URL = "endpointUrl";
8623
+ var _DYN_USER_OVERRIDE_ENDPOI0 = "userOverrideEndpointUrl";
8356
8624
 
8357
8625
  var defaultConfigValues = {
8358
8626
  diagnosticLogInterval: cfgDfValidate(_chkDiagLevel, 10000)
@@ -8393,9 +8661,10 @@ var ApplicationInsights = /** @class */ (function () {
8393
8661
  if (_config[_DYN_CONNECTION_STRING ]) {
8394
8662
  var cs = parseConnectionString(_config[_DYN_CONNECTION_STRING ]);
8395
8663
  var ingest = cs.ingestionendpoint;
8396
- _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);
8397
8665
  _config[_DYN_INSTRUMENTATION_KEY ] = cs.instrumentationkey || _config[_DYN_INSTRUMENTATION_KEY ];
8398
8666
  }
8667
+ _config[_DYN_ENDPOINT_URL ] = _config[_DYN_USER_OVERRIDE_ENDPOI0 ] ? _config[_DYN_USER_OVERRIDE_ENDPOI0 ] : _config[_DYN_ENDPOINT_URL ];
8399
8668
  }));
8400
8669
  core.initialize(_config, [new Sender()]);
8401
8670
  }
@@ -8422,4 +8691,4 @@ exports.proxyFunctions = proxyFunctions;
8422
8691
  exports.throwError = throwError;
8423
8692
 
8424
8693
  }));
8425
- //# sourceMappingURL=aib.3.1.1-nightly3.2402-20.js.map
8694
+ //# sourceMappingURL=aib.3.1.1-nightly3.2403-02.js.map