@microsoft/applicationinsights-channel-js 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 (59) hide show
  1. package/browser/es5/{applicationinsights-channel-js.3.1.1-nightly3.2403-01.cjs.js → applicationinsights-channel-js.3.1.1-nightly3.2403-03.cjs.js} +586 -331
  2. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-03.cjs.js.map +1 -0
  3. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-03.cjs.min.js +6 -0
  4. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-03.cjs.min.js.map +1 -0
  5. package/browser/es5/{applicationinsights-channel-js.3.1.1-nightly3.2403-01.gbl.js → applicationinsights-channel-js.3.1.1-nightly3.2403-03.gbl.js} +588 -333
  6. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-03.gbl.js.map +1 -0
  7. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-03.gbl.min.js +6 -0
  8. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-03.gbl.min.js.map +1 -0
  9. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-03.integrity.json +66 -0
  10. package/browser/es5/{applicationinsights-channel-js.3.1.1-nightly3.2403-01.js → applicationinsights-channel-js.3.1.1-nightly3.2403-03.js} +588 -333
  11. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-03.js.map +1 -0
  12. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-03.min.js +6 -0
  13. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-03.min.js.map +1 -0
  14. package/browser/es5/applicationinsights-channel-js.3.cjs.js +585 -330
  15. package/browser/es5/applicationinsights-channel-js.3.cjs.js.map +1 -1
  16. package/browser/es5/applicationinsights-channel-js.3.cjs.min.js +2 -2
  17. package/browser/es5/applicationinsights-channel-js.3.cjs.min.js.map +1 -1
  18. package/browser/es5/applicationinsights-channel-js.3.gbl.js +587 -332
  19. package/browser/es5/applicationinsights-channel-js.3.gbl.js.map +1 -1
  20. package/browser/es5/applicationinsights-channel-js.3.gbl.min.js +2 -2
  21. package/browser/es5/applicationinsights-channel-js.3.gbl.min.js.map +1 -1
  22. package/browser/es5/applicationinsights-channel-js.3.integrity.json +25 -25
  23. package/browser/es5/applicationinsights-channel-js.3.js +587 -332
  24. package/browser/es5/applicationinsights-channel-js.3.js.map +1 -1
  25. package/browser/es5/applicationinsights-channel-js.3.min.js +2 -2
  26. package/browser/es5/applicationinsights-channel-js.3.min.js.map +1 -1
  27. package/dist/es5/applicationinsights-channel-js.js +585 -330
  28. package/dist/es5/applicationinsights-channel-js.js.map +1 -1
  29. package/dist/es5/applicationinsights-channel-js.min.js +2 -2
  30. package/dist/es5/applicationinsights-channel-js.min.js.map +1 -1
  31. package/dist-es5/EnvelopeCreator.js +2 -2
  32. package/dist-es5/EnvelopeCreator.js.map +1 -1
  33. package/dist-es5/Interfaces.js +1 -1
  34. package/dist-es5/InternalConstants.js +1 -1
  35. package/dist-es5/SendBuffer.js +5 -5
  36. package/dist-es5/SendBuffer.js.map +1 -1
  37. package/dist-es5/Sender.js +138 -369
  38. package/dist-es5/Sender.js.map +1 -1
  39. package/dist-es5/Serializer.js +1 -1
  40. package/dist-es5/TelemetryProcessors/Sample.js +1 -1
  41. package/dist-es5/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js +3 -3
  42. package/dist-es5/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js.map +1 -1
  43. package/dist-es5/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.js +1 -1
  44. package/dist-es5/__DynamicConstants.js +14 -15
  45. package/dist-es5/__DynamicConstants.js.map +1 -1
  46. package/dist-es5/applicationinsights-channel-js.js +1 -1
  47. package/package.json +3 -3
  48. package/types/applicationinsights-channel-js.d.ts +1 -1
  49. package/types/applicationinsights-channel-js.namespaced.d.ts +6 -1
  50. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-01.cjs.js.map +0 -1
  51. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-01.cjs.min.js +0 -6
  52. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-01.cjs.min.js.map +0 -1
  53. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-01.gbl.js.map +0 -1
  54. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-01.gbl.min.js +0 -6
  55. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-01.gbl.min.js.map +0 -1
  56. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-01.integrity.json +0 -66
  57. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-01.js.map +0 -1
  58. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-01.min.js +0 -6
  59. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-01.min.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Channel, 3.1.1-nightly3.2403-01
2
+ * Application Insights JavaScript SDK - Channel, 3.1.1-nightly3.2403-03
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_applicationinsights_channel_js_3_1_1_nightly3_2403_01", msMod="__ms$mod__";
11
- var mods={}, modDetail=mods[modName]={}, ver="3.1.1-nightly3.2403-01";
10
+ var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_channel_js_3_1_1_nightly3_2403_03", msMod="__ms$mod__";
11
+ var mods={}, modDetail=mods[modName]={}, ver="3.1.1-nightly3.2403-03";
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]||{});
@@ -1148,7 +1148,7 @@ var _DYN_PUSH$2 = "push";
1148
1148
  var _DYN_SPLICE = "splice";
1149
1149
  var _DYN_HDLR = "hdlr";
1150
1150
  var _DYN_CANCEL = "cancel";
1151
- var _DYN_INITIALIZE = "initialize";
1151
+ var _DYN_INITIALIZE$1 = "initialize";
1152
1152
  var _DYN_IDENTIFIER = "identifier";
1153
1153
  var _DYN_IS_INITIALIZED = "isInitialized";
1154
1154
  var _DYN_GET_PLUGIN = "getPlugin";
@@ -1497,7 +1497,7 @@ function createPromise(executor, timeout) {
1497
1497
  }
1498
1498
 
1499
1499
  var UNDEFINED_VALUE$1 = undefined;
1500
- var STR_EMPTY = "";
1500
+ var STR_EMPTY$1 = "";
1501
1501
  var STR_CORE = "core";
1502
1502
  var STR_DISABLED = "disabled";
1503
1503
  var STR_EXTENSION_CONFIG = "extensionConfig";
@@ -1538,7 +1538,7 @@ function getExceptionName(object) {
1538
1538
  if (isError(object)) {
1539
1539
  return object[_DYN_NAME$2 ];
1540
1540
  }
1541
- return STR_EMPTY;
1541
+ return STR_EMPTY$1;
1542
1542
  }
1543
1543
  function setValue(target, field, value, valChk, srcChk) {
1544
1544
  var theValue = value;
@@ -1642,6 +1642,7 @@ function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {
1642
1642
  }
1643
1643
 
1644
1644
  var strDocumentMode = "documentMode";
1645
+ var strLocation = "location";
1645
1646
  var strConsole = "console";
1646
1647
  var strJSON = "JSON";
1647
1648
  var strCrypto = "crypto";
@@ -1651,6 +1652,7 @@ var strTrident = "trident/";
1651
1652
  var strXMLHttpRequest = "XMLHttpRequest";
1652
1653
  var _isTrident = null;
1653
1654
  var _navUserAgentCheck = null;
1655
+ var _enableMocks = false;
1654
1656
  var _useXDomainRequest = null;
1655
1657
  var _beaconsSupported = null;
1656
1658
  function _hasProperty(theClass, property) {
@@ -1678,6 +1680,18 @@ function _hasProperty(theClass, property) {
1678
1680
  }
1679
1681
  return supported;
1680
1682
  }
1683
+ function getLocation(checkForMock) {
1684
+ if (checkForMock && _enableMocks) {
1685
+ var mockLocation = getInst("__mockLocation");
1686
+ if (mockLocation) {
1687
+ return mockLocation;
1688
+ }
1689
+ }
1690
+ if (typeof location === strShimObject && location) {
1691
+ return location;
1692
+ }
1693
+ return getInst(strLocation);
1694
+ }
1681
1695
  function getConsole() {
1682
1696
  if (typeof console !== strShimUndefined) {
1683
1697
  return console;
@@ -1703,7 +1717,7 @@ function isIE() {
1703
1717
  var nav = getNavigator();
1704
1718
  if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
1705
1719
  _navUserAgentCheck = nav[_DYN_USER_AGENT ];
1706
- var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
1720
+ var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]();
1707
1721
  _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
1708
1722
  }
1709
1723
  return _isTrident;
@@ -1712,9 +1726,9 @@ function getIEVersion(userAgentStr) {
1712
1726
  if (userAgentStr === void 0) { userAgentStr = null; }
1713
1727
  if (!userAgentStr) {
1714
1728
  var navigator_1 = getNavigator() || {};
1715
- userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]() : STR_EMPTY;
1729
+ userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]() : STR_EMPTY$1;
1716
1730
  }
1717
- var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
1731
+ var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]();
1718
1732
  if (strContains(ua, strMsie)) {
1719
1733
  var doc = getDocument() || {};
1720
1734
  return Math.max(parseInt(ua[_DYN_SPLIT$1 ](strMsie)[1]), (doc[strDocumentMode] || 0));
@@ -1823,7 +1837,7 @@ function newId(maxLength) {
1823
1837
  var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1824
1838
  var number = random32() >>> 0;
1825
1839
  var chars = 0;
1826
- var result = STR_EMPTY;
1840
+ var result = STR_EMPTY$1;
1827
1841
  while (result[_DYN_LENGTH$2 ] < maxLength) {
1828
1842
  chars++;
1829
1843
  result += base64chars.charAt(number & 0x3F);
@@ -1861,11 +1875,11 @@ function _getCache(data, target) {
1861
1875
  }
1862
1876
  function createUniqueNamespace(name, includeVersion) {
1863
1877
  if (includeVersion === void 0) { includeVersion = false; }
1864
- return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
1878
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY$1) + instanceName);
1865
1879
  }
1866
1880
  function createElmNodeData(name) {
1867
1881
  var data = {
1868
- id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
1882
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY$1) + "." + version),
1869
1883
  accept: function (target) {
1870
1884
  return _canAcceptData(target);
1871
1885
  },
@@ -2570,9 +2584,9 @@ var _logFuncs = (_a$2 = {},
2570
2584
  _a$2);
2571
2585
  function _sanitizeDiagnosticText(text) {
2572
2586
  if (text) {
2573
- return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
2587
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
2574
2588
  }
2575
- return STR_EMPTY;
2589
+ return STR_EMPTY$1;
2576
2590
  }
2577
2591
  function _logToConsole(func, message) {
2578
2592
  var theConsole = getConsole();
@@ -2594,12 +2608,12 @@ var _InternalLogMessage = /** @class */ (function () {
2594
2608
  _self[_DYN_MESSAGE$1 ] =
2595
2609
  (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
2596
2610
  msgId;
2597
- var strProps = STR_EMPTY;
2611
+ var strProps = STR_EMPTY$1;
2598
2612
  if (hasJSON()) {
2599
2613
  strProps = getJSON().stringify(properties);
2600
2614
  }
2601
- var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
2602
- (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
2615
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
2616
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
2603
2617
  _self[_DYN_MESSAGE$1 ] += diagnosticText;
2604
2618
  }
2605
2619
  _InternalLogMessage.dataType = "MessageData";
@@ -3132,7 +3146,7 @@ function createTelemetryPluginProxy(plugin, config, core) {
3132
3146
  doPerf(itemCtx[STR_CORE ](), function () { return identifier + ":" + name; }, function () {
3133
3147
  hasRunContext[chainId] = true;
3134
3148
  try {
3135
- var nextId = nextProxy ? nextProxy._id : STR_EMPTY;
3149
+ var nextId = nextProxy ? nextProxy._id : STR_EMPTY$1;
3136
3150
  if (nextId) {
3137
3151
  hasRunContext[nextId] = false;
3138
3152
  }
@@ -3277,7 +3291,7 @@ var BaseTelemetryPlugin = /** @class */ (function () {
3277
3291
  var _hookContainer;
3278
3292
  _initDefaults();
3279
3293
  dynamicProto(BaseTelemetryPlugin, _self, function (_self) {
3280
- _self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
3294
+ _self[_DYN_INITIALIZE$1 ] = function (config, core, extensions, pluginChain) {
3281
3295
  _setDefaults(config, core, pluginChain);
3282
3296
  _isinitialized = true;
3283
3297
  };
@@ -3418,16 +3432,16 @@ var elmNodeData = createElmNodeData("events");
3418
3432
  var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
3419
3433
  function _normalizeNamespace(name) {
3420
3434
  if (name && name[_DYN_REPLACE ]) {
3421
- return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY);
3435
+ return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY$1);
3422
3436
  }
3423
3437
  return name;
3424
3438
  }
3425
3439
  function _getEvtNamespace(eventName, evtNamespace) {
3426
3440
  var _a;
3427
3441
  if (evtNamespace) {
3428
- var theNamespace_1 = STR_EMPTY;
3442
+ var theNamespace_1 = STR_EMPTY$1;
3429
3443
  if (isArray(evtNamespace)) {
3430
- theNamespace_1 = STR_EMPTY;
3444
+ theNamespace_1 = STR_EMPTY$1;
3431
3445
  arrForEach(evtNamespace, function (name) {
3432
3446
  name = _normalizeNamespace(name);
3433
3447
  if (name) {
@@ -3445,13 +3459,13 @@ function _getEvtNamespace(eventName, evtNamespace) {
3445
3459
  if (theNamespace_1[0] !== ".") {
3446
3460
  theNamespace_1 = "." + theNamespace_1;
3447
3461
  }
3448
- eventName = (eventName || STR_EMPTY) + theNamespace_1;
3462
+ eventName = (eventName || STR_EMPTY$1) + theNamespace_1;
3449
3463
  }
3450
3464
  }
3451
- var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
3465
+ var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY$1) || []);
3452
3466
  return _a = {},
3453
3467
  _a[_DYN_TYPE ] = parsedEvent[1],
3454
- _a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT$1 ](".").sort()).join("."),
3468
+ _a.ns = ((parsedEvent[2] || STR_EMPTY$1).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY$1)[_DYN_SPLIT$1 ](".").sort()).join("."),
3455
3469
  _a;
3456
3470
  }
3457
3471
  function _getRegisteredEvents(target, evtName, addDefault) {
@@ -3600,14 +3614,20 @@ var RequestHeaders = createValueMap({
3600
3614
  var _DYN_SPLIT = "split";
3601
3615
  var _DYN_LENGTH$1 = "length";
3602
3616
  var _DYN_TO_LOWER_CASE = "toLowerCase";
3617
+ var _DYN_LOCATION = "location";
3603
3618
  var _DYN_TO_STRING$1 = "toString";
3604
3619
  var _DYN_PUSH$1 = "push";
3620
+ var _DYN_URL_STRING = "urlString";
3621
+ var _DYN_DATA$1 = "data";
3622
+ var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
3623
+ var _DYN_REASON = "reason";
3624
+ var _DYN_MESSAGE = "message";
3605
3625
  var _DYN_REMOVE_ITEM = "removeItem";
3606
3626
  var _DYN_NAME$1 = "name";
3607
- var _DYN_MESSAGE = "message";
3608
3627
  var _DYN_COUNT$1 = "count";
3609
3628
  var _DYN_STRINGIFY$1 = "stringify";
3610
3629
  var _DYN_PATHNAME = "pathname";
3630
+ var _DYN_ITEMS_RECEIVED$1 = "itemsReceived";
3611
3631
  var _DYN_EXCEPTIONS = "exceptions";
3612
3632
  var _DYN_PARSED_STACK = "parsedStack";
3613
3633
  var _DYN_PROPERTIES = "properties";
@@ -3829,6 +3849,54 @@ function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName)
3829
3849
  data: data
3830
3850
  };
3831
3851
  }
3852
+ function getResponseText(xhr) {
3853
+ try {
3854
+ return xhr.responseText;
3855
+ }
3856
+ catch (e) {
3857
+ }
3858
+ return null;
3859
+ }
3860
+ function formatErrorMessageXdr(xdr, message) {
3861
+ if (xdr) {
3862
+ return "XDomainRequest,Response:" + getResponseText(xdr) || "";
3863
+ }
3864
+ return message;
3865
+ }
3866
+ function formatErrorMessageXhr(xhr, message) {
3867
+ if (xhr) {
3868
+ return "XMLHttpRequest,Status:" + xhr.status + ",Response:" + getResponseText(xhr) || xhr.response || "";
3869
+ }
3870
+ return message;
3871
+ }
3872
+ function prependTransports(theTransports, newTransports) {
3873
+ if (newTransports) {
3874
+ if (isNumber(newTransports)) {
3875
+ theTransports = [newTransports].concat(theTransports);
3876
+ }
3877
+ else if (isArray(newTransports)) {
3878
+ theTransports = newTransports.concat(theTransports);
3879
+ }
3880
+ }
3881
+ return theTransports;
3882
+ }
3883
+ function parseResponse(response, diagLog) {
3884
+ try {
3885
+ if (response && response !== "") {
3886
+ var result = getJSON().parse(response);
3887
+ if (result && result[_DYN_ITEMS_RECEIVED$1 ] && result[_DYN_ITEMS_RECEIVED$1 ] >= result.itemsAccepted &&
3888
+ result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH$1 ]) {
3889
+ return result;
3890
+ }
3891
+ }
3892
+ }
3893
+ catch (e) {
3894
+ _throwInternal(diagLog, 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
3895
+ response: response
3896
+ });
3897
+ }
3898
+ return null;
3899
+ }
3832
3900
 
3833
3901
  var StorageType = createEnumStyle({
3834
3902
  LocalStorage: 0 ,
@@ -3907,7 +3975,7 @@ var Envelope = /** @class */ (function () {
3907
3975
  _self.sampleRate = 100.0;
3908
3976
  _self.tags = {};
3909
3977
  _self[_DYN_NAME$1 ] = dataSanitizeString(logger, name) || strNotSpecified;
3910
- _self.data = data;
3978
+ _self[_DYN_DATA$1 ] = data;
3911
3979
  _self.time = toISOString(new Date());
3912
3980
  _self.aiDataContract = {
3913
3981
  time: 1 ,
@@ -4064,8 +4132,8 @@ function _getStackFromErrorObj(errorObj) {
4064
4132
  else if (getWindow() && getWindow()["opera"] && errorObj[strMessage]) {
4065
4133
  details = _getOperaStack(errorObj[_DYN_MESSAGE ]);
4066
4134
  }
4067
- else if (errorObj["reason"] && errorObj.reason[strStack]) {
4068
- details = _convertStackObj(errorObj.reason[strStack]);
4135
+ else if (errorObj["reason"] && errorObj[_DYN_REASON ][strStack]) {
4136
+ details = _convertStackObj(errorObj[_DYN_REASON ][strStack]);
4069
4137
  }
4070
4138
  else if (isString(errorObj)) {
4071
4139
  details = _convertStackObj(errorObj);
@@ -4536,7 +4604,7 @@ var RemoteDependencyData = /** @class */ (function () {
4536
4604
  _self.resultCode = resultCode + "";
4537
4605
  _self.type = dataSanitizeString(logger, requestAPI);
4538
4606
  var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);
4539
- _self.data = dataSanitizeUrl(logger, commandName) || dependencyFields.data;
4607
+ _self[_DYN_DATA$1 ] = dataSanitizeUrl(logger, commandName) || dependencyFields[_DYN_DATA$1 ];
4540
4608
  _self.target = dataSanitizeString(logger, dependencyFields.target);
4541
4609
  if (correlationContext) {
4542
4610
  _self.target = "".concat(_self.target, " | ").concat(correlationContext);
@@ -4702,6 +4770,360 @@ var ContextTagKeys = /** @class */ (function (_super) {
4702
4770
 
4703
4771
  var CtxTagKeys = new ContextTagKeys();
4704
4772
 
4773
+ var STR_EMPTY = "";
4774
+ var SenderPostManager = /** @class */ (function () {
4775
+ function SenderPostManager() {
4776
+ var _syncFetchPayload = 0;
4777
+ var _enableSendPromise;
4778
+ var _isInitialized;
4779
+ var _diagLog;
4780
+ var _isOneDs;
4781
+ var _onCompleteFuncs;
4782
+ var _disableCredentials;
4783
+ var _fallbackInst;
4784
+ var _disableXhr;
4785
+ var _disableBeacon;
4786
+ var _disableBeaconSync;
4787
+ dynamicProto(SenderPostManager, this, function (_self, _base) {
4788
+ var _sendCredentials = true;
4789
+ _initDefaults();
4790
+ _self.initialize = function (config, diagLog) {
4791
+ _diagLog = diagLog;
4792
+ if (_isInitialized) {
4793
+ _throwInternal(_diagLog, 1 , 28 , "Sender is already initialized");
4794
+ }
4795
+ _self.SetConfig(config);
4796
+ _isInitialized = true;
4797
+ };
4798
+ _self["_getDbgPlgTargets"] = function () {
4799
+ return [_isInitialized, _isOneDs, _disableCredentials, _enableSendPromise];
4800
+ };
4801
+ _self.SetConfig = function (config) {
4802
+ try {
4803
+ _onCompleteFuncs = config.senderOnCompleteCallBack || {};
4804
+ _disableCredentials = !!config.disableCredentials;
4805
+ _isOneDs = !!config.isOneDs;
4806
+ _enableSendPromise = !!config.enableSendPromise;
4807
+ _disableXhr = !!config.disableXhr;
4808
+ _disableBeacon = !!config.disableBeacon;
4809
+ _disableBeaconSync = !!config.disableBeaconSync;
4810
+ _fallbackInst = { sendPOST: _xhrSender };
4811
+ if (_disableCredentials) {
4812
+ var location_1 = getLocation();
4813
+ if (location_1 && location_1.protocol && location_1.protocol[_DYN_TO_LOWER_CASE ]() === "file:") {
4814
+ _sendCredentials = false;
4815
+ }
4816
+ }
4817
+ return true;
4818
+ }
4819
+ catch (e) {
4820
+ }
4821
+ return false;
4822
+ };
4823
+ _self.getSyncFetchPayload = function () {
4824
+ return _syncFetchPayload;
4825
+ };
4826
+ _self.getXhrInst = function (transports, sync) {
4827
+ if (transports && transports[_DYN_LENGTH$1 ]) {
4828
+ return _getSenderInterface(transports, sync);
4829
+ }
4830
+ return null;
4831
+ };
4832
+ _self.getFallbackInst = function () {
4833
+ return _fallbackInst;
4834
+ };
4835
+ _self._doTeardown = function (unloadCtx, unloadState) {
4836
+ _initDefaults();
4837
+ };
4838
+ function _onSuccess(res, onComplete) {
4839
+ _doOnComplete(onComplete, 200, {}, res);
4840
+ }
4841
+ function _onError(message, onComplete) {
4842
+ _throwInternal(_diagLog, 2 , 26 , "Failed to send telemetry.", { message: message });
4843
+ _doOnComplete(onComplete, 400, {});
4844
+ }
4845
+ function _onNoPayloadUrl(onComplete) {
4846
+ _onError("No endpoint url is provided for the batch", onComplete);
4847
+ }
4848
+ function _getSenderInterface(transports, syncSupport) {
4849
+ var transportType = null;
4850
+ var sendPostFunc = null;
4851
+ var lp = 0;
4852
+ while (sendPostFunc == null && lp < transports[_DYN_LENGTH$1 ]) {
4853
+ transportType = transports[lp];
4854
+ if (!_disableXhr && transportType === 1 ) {
4855
+ if (useXDomainRequest()) {
4856
+ sendPostFunc = _xdrSender;
4857
+ }
4858
+ else if (isXhrSupported()) {
4859
+ sendPostFunc = _xhrSender;
4860
+ }
4861
+ }
4862
+ else if (transportType === 2 && isFetchSupported(syncSupport)) {
4863
+ sendPostFunc = _doFetchSender;
4864
+ }
4865
+ else if (transportType === 3 && isBeaconsSupported() && (syncSupport ? !_disableBeaconSync : !_disableBeacon)) {
4866
+ sendPostFunc = _beaconSender;
4867
+ }
4868
+ lp++;
4869
+ }
4870
+ if (sendPostFunc) {
4871
+ return {
4872
+ sendPOST: sendPostFunc
4873
+ };
4874
+ }
4875
+ return null;
4876
+ }
4877
+ function _doOnComplete(oncomplete, status, headers, response) {
4878
+ try {
4879
+ oncomplete && oncomplete(status, headers, response);
4880
+ }
4881
+ catch (e) {
4882
+ }
4883
+ }
4884
+ function _doBeaconSend(payload, oncomplete) {
4885
+ var nav = getNavigator();
4886
+ var url = payload[_DYN_URL_STRING ];
4887
+ if (!url) {
4888
+ _onNoPayloadUrl(oncomplete);
4889
+ return true;
4890
+ }
4891
+ var data = payload[_DYN_DATA$1 ];
4892
+ var plainTextBatch = new Blob([data], { type: "text/plain;charset=UTF-8" });
4893
+ var queued = nav.sendBeacon(url, plainTextBatch);
4894
+ return queued;
4895
+ }
4896
+ function _beaconSender(payload, oncomplete, sync) {
4897
+ var data = payload[_DYN_DATA$1 ];
4898
+ if (data) {
4899
+ if (!_doBeaconSend(payload, oncomplete)) {
4900
+ var onRetry = _onCompleteFuncs && _onCompleteFuncs.beaconOnRetry;
4901
+ if (onRetry && isFunction(onRetry)) {
4902
+ onRetry(payload, oncomplete, _doBeaconSend);
4903
+ }
4904
+ else {
4905
+ _fallbackInst && _fallbackInst.sendPOST(payload, oncomplete, true);
4906
+ _throwInternal(_diagLog, 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
4907
+ }
4908
+ }
4909
+ else {
4910
+ _onSuccess(null, oncomplete);
4911
+ }
4912
+ }
4913
+ return;
4914
+ }
4915
+ function _xhrSender(payload, oncomplete, sync) {
4916
+ var thePromise;
4917
+ var resolveFunc;
4918
+ var rejectFunc;
4919
+ var headers = payload.headers || {};
4920
+ if (!sync && _enableSendPromise) {
4921
+ thePromise = createPromise(function (resolve, reject) {
4922
+ resolveFunc = resolve;
4923
+ rejectFunc = reject;
4924
+ });
4925
+ }
4926
+ var xhr = new XMLHttpRequest();
4927
+ var endPointUrl = payload[_DYN_URL_STRING ];
4928
+ if (!endPointUrl) {
4929
+ _onNoPayloadUrl(oncomplete);
4930
+ resolveFunc && resolveFunc(false);
4931
+ return;
4932
+ }
4933
+ try {
4934
+ xhr[DisabledPropertyName] = true;
4935
+ }
4936
+ catch (e) {
4937
+ }
4938
+ xhr.open("POST", endPointUrl, !sync);
4939
+ xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
4940
+ if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
4941
+ xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
4942
+ }
4943
+ arrForEach(objKeys(headers), function (headerName) {
4944
+ xhr[_DYN_SET_REQUEST_HEADER ](headerName, headers[headerName]);
4945
+ });
4946
+ xhr.onreadystatechange = function () {
4947
+ var response = getResponseText(xhr);
4948
+ var onReadyFunc = _onCompleteFuncs && _onCompleteFuncs.xhrOnComplete;
4949
+ var onReadyFuncExist = onReadyFunc && isFunction(onReadyFunc);
4950
+ if (onReadyFuncExist) {
4951
+ onReadyFunc(xhr, oncomplete, payload);
4952
+ }
4953
+ if (xhr.readyState === 4) {
4954
+ if (!onReadyFuncExist) {
4955
+ _doOnComplete(oncomplete, xhr.status, {}, response);
4956
+ }
4957
+ resolveFunc && resolveFunc(true);
4958
+ }
4959
+ };
4960
+ xhr.onerror = function (event) {
4961
+ _doOnComplete(oncomplete, 400, {}, formatErrorMessageXhr(xhr));
4962
+ rejectFunc && rejectFunc(event);
4963
+ };
4964
+ xhr.ontimeout = function () {
4965
+ _doOnComplete(oncomplete, 500, {}, formatErrorMessageXhr(xhr));
4966
+ resolveFunc && resolveFunc(false);
4967
+ };
4968
+ xhr.send(payload[_DYN_DATA$1 ]);
4969
+ return thePromise;
4970
+ }
4971
+ function _doFetchSender(payload, oncomplete, sync) {
4972
+ var _a;
4973
+ var endPointUrl = payload[_DYN_URL_STRING ];
4974
+ var batch = payload[_DYN_DATA$1 ];
4975
+ var plainTextBatch = new Blob([batch], { type: "application/json" });
4976
+ var thePromise;
4977
+ var resolveFunc;
4978
+ var rejectFunc;
4979
+ var requestHeaders = new Headers();
4980
+ var batchLength = batch[_DYN_LENGTH$1 ];
4981
+ var ignoreResponse = false;
4982
+ var responseHandled = false;
4983
+ var headers = payload.headers || {};
4984
+ if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
4985
+ requestHeaders.append(RequestHeaders[6 ], RequestHeaders[7 ]);
4986
+ }
4987
+ arrForEach(objKeys(headers), function (headerName) {
4988
+ requestHeaders.append(headerName, headers[headerName]);
4989
+ });
4990
+ var init = (_a = {
4991
+ method: "POST",
4992
+ headers: requestHeaders,
4993
+ body: plainTextBatch
4994
+ },
4995
+ _a[DisabledPropertyName] = true
4996
+ ,
4997
+ _a);
4998
+ if (_sendCredentials && _isOneDs) {
4999
+ init.credentials = "include";
5000
+ }
5001
+ if (sync) {
5002
+ init.keepalive = true;
5003
+ ignoreResponse = true;
5004
+ _syncFetchPayload += batchLength;
5005
+ }
5006
+ var request = new Request(endPointUrl, init);
5007
+ try {
5008
+ request[DisabledPropertyName] = true;
5009
+ }
5010
+ catch (e) {
5011
+ }
5012
+ if (!sync && _enableSendPromise) {
5013
+ thePromise = createPromise(function (resolve, reject) {
5014
+ resolveFunc = resolve;
5015
+ rejectFunc = reject;
5016
+ });
5017
+ }
5018
+ if (!endPointUrl) {
5019
+ _onNoPayloadUrl(oncomplete);
5020
+ resolveFunc && resolveFunc(false);
5021
+ return;
5022
+ }
5023
+ try {
5024
+ doAwaitResponse(fetch(request), function (result) {
5025
+ if (sync) {
5026
+ _syncFetchPayload -= batchLength;
5027
+ batchLength = 0;
5028
+ }
5029
+ if (!responseHandled) {
5030
+ responseHandled = true;
5031
+ if (!result.rejected) {
5032
+ var response_1 = result.value;
5033
+ if (!response_1.ok) {
5034
+ _doOnComplete(oncomplete, 400, {}, response_1.statusText);
5035
+ resolveFunc && resolveFunc(false);
5036
+ }
5037
+ else {
5038
+ doAwaitResponse(response_1.text(), function (resp) {
5039
+ var status = response_1.status;
5040
+ var onCompleteFunc = _onCompleteFuncs.fetchOnComplete;
5041
+ if (onCompleteFunc && isFunction(onCompleteFunc)) {
5042
+ onCompleteFunc(response_1, oncomplete, resp.value || STR_EMPTY, payload);
5043
+ }
5044
+ else {
5045
+ _doOnComplete(oncomplete, status, {}, resp.value || STR_EMPTY);
5046
+ }
5047
+ resolveFunc && resolveFunc(true);
5048
+ });
5049
+ }
5050
+ }
5051
+ else {
5052
+ _doOnComplete(oncomplete, 400, {}, result[_DYN_REASON ] && result[_DYN_REASON ][_DYN_MESSAGE ]);
5053
+ rejectFunc && rejectFunc(result[_DYN_REASON ]);
5054
+ }
5055
+ }
5056
+ });
5057
+ }
5058
+ catch (e) {
5059
+ if (!responseHandled) {
5060
+ _doOnComplete(oncomplete, 400, {}, dumpObj(e));
5061
+ rejectFunc && rejectFunc(e);
5062
+ }
5063
+ }
5064
+ if (ignoreResponse && !responseHandled) {
5065
+ responseHandled = true;
5066
+ _doOnComplete(oncomplete, 200, {});
5067
+ resolveFunc && resolveFunc(true);
5068
+ }
5069
+ return thePromise;
5070
+ }
5071
+ function _xdrSender(payload, oncomplete, sync) {
5072
+ var _window = getWindow();
5073
+ var xdr = new XDomainRequest();
5074
+ var data = payload[_DYN_DATA$1 ];
5075
+ xdr.onload = function () {
5076
+ var response = getResponseText(xdr);
5077
+ var onloadFunc = _onCompleteFuncs && _onCompleteFuncs.xdrOnComplete;
5078
+ if (onloadFunc && isFunction(onloadFunc)) {
5079
+ onloadFunc(xdr, oncomplete, payload);
5080
+ }
5081
+ else {
5082
+ _doOnComplete(oncomplete, 200, {}, response);
5083
+ }
5084
+ };
5085
+ xdr.onerror = function () {
5086
+ _doOnComplete(oncomplete, 400, {}, formatErrorMessageXdr(xdr));
5087
+ };
5088
+ xdr.ontimeout = function () {
5089
+ _doOnComplete(oncomplete, 500, {});
5090
+ };
5091
+ xdr.onprogress = function () { };
5092
+ var hostingProtocol = _window && _window[_DYN_LOCATION ] && _window[_DYN_LOCATION ].protocol || "";
5093
+ var endpoint = payload[_DYN_URL_STRING ];
5094
+ if (!endpoint) {
5095
+ _onNoPayloadUrl(oncomplete);
5096
+ return;
5097
+ }
5098
+ if (endpoint.lastIndexOf(hostingProtocol, 0) !== 0) {
5099
+ var msg = "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.";
5100
+ _throwInternal(_diagLog, 2 , 40 , ". " + msg);
5101
+ _onError(msg, oncomplete);
5102
+ return;
5103
+ }
5104
+ var endpointUrl = endpoint.replace(/^(https?:)/, "");
5105
+ xdr.open("POST", endpointUrl);
5106
+ xdr.send(data);
5107
+ }
5108
+ function _initDefaults() {
5109
+ _syncFetchPayload = 0;
5110
+ _isInitialized = false;
5111
+ _enableSendPromise = false;
5112
+ _diagLog = null;
5113
+ _isOneDs = null;
5114
+ _onCompleteFuncs = null;
5115
+ _disableCredentials = null;
5116
+ _fallbackInst = null;
5117
+ _disableXhr = false;
5118
+ _disableBeacon = false;
5119
+ _disableBeaconSync = false;
5120
+ }
5121
+ });
5122
+ }
5123
+ SenderPostManager.__ieDyn=1;
5124
+ return SenderPostManager;
5125
+ }());
5126
+
4705
5127
  function _disableEvents(target, evtNamespace) {
4706
5128
  eventOff(target, null, null, evtNamespace);
4707
5129
  }
@@ -4840,43 +5262,42 @@ var _DYN_EVENTS_LIMIT_IN_MEM = "eventsLimitInMem";
4840
5262
  var _DYN_PUSH = "push";
4841
5263
  var _DYN_EMIT_LINE_DELIMITED_0 = "emitLineDelimitedJson";
4842
5264
  var _DYN_CLEAR = "clear";
4843
- var _DYN_BATCH_PAYLOADS = "batchPayloads";
4844
5265
  var _DYN_CREATE_NEW = "createNew";
4845
5266
  var _DYN_MARK_AS_SENT = "markAsSent";
4846
5267
  var _DYN_CLEAR_SENT = "clearSent";
4847
5268
  var _DYN_BUFFER_OVERRIDE = "bufferOverride";
4848
5269
  var _DYN__BUFFER__KEY = "BUFFER_KEY";
4849
5270
  var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
4850
- var _DYN_CONCAT = "concat";
4851
5271
  var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
4852
- var _DYN_SEND_POST = "sendPOST";
4853
5272
  var _DYN_TRIGGER_SEND = "triggerSend";
4854
5273
  var _DYN_DIAG_LOG = "diagLog";
5274
+ var _DYN_INITIALIZE = "initialize";
4855
5275
  var _DYN__SENDER = "_sender";
4856
5276
  var _DYN_CUSTOM_HEADERS = "customHeaders";
4857
5277
  var _DYN_MAX_BATCH_SIZE_IN_BY1 = "maxBatchSizeInBytes";
4858
5278
  var _DYN_ONUNLOAD_DISABLE_BEA2 = "onunloadDisableBeacon";
4859
5279
  var _DYN_IS_BEACON_API_DISABL3 = "isBeaconApiDisabled";
4860
5280
  var _DYN_ALWAYS_USE_XHR_OVERR4 = "alwaysUseXhrOverride";
5281
+ var _DYN_DISABLE_XHR = "disableXhr";
4861
5282
  var _DYN_ENABLE_SESSION_STORA5 = "enableSessionStorageBuffer";
4862
5283
  var _DYN__BUFFER = "_buffer";
4863
5284
  var _DYN_ONUNLOAD_DISABLE_FET6 = "onunloadDisableFetch";
4864
5285
  var _DYN_DISABLE_SEND_BEACON_7 = "disableSendBeaconSplit";
4865
5286
  var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
5287
+ var _DYN_ENABLE_SEND_PROMISE = "enableSendPromise";
5288
+ var _DYN_GET_XHR_INST = "getXhrInst";
4866
5289
  var _DYN_UNLOAD_TRANSPORTS = "unloadTransports";
4867
5290
  var _DYN_CONVERT_UNDEFINED = "convertUndefined";
4868
5291
  var _DYN_MAX_BATCH_INTERVAL = "maxBatchInterval";
4869
5292
  var _DYN_SERIALIZE = "serialize";
4870
- var _DYN__XHR_READY_STATE_CHA8 = "_xhrReadyStateChange";
4871
5293
  var _DYN__ON_ERROR = "_onError";
4872
5294
  var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
4873
5295
  var _DYN__ON_SUCCESS = "_onSuccess";
4874
5296
  var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
4875
5297
  var _DYN_ITEMS_RECEIVED = "itemsReceived";
5298
+ var _DYN_ORI_PAYLOAD = "oriPayload";
4876
5299
  var _DYN_BASE_TYPE = "baseType";
4877
5300
  var _DYN_SAMPLE_RATE = "sampleRate";
4878
- var _DYN_ORI_PAYLOAD = "oriPayload";
4879
- var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
4880
5301
  var _DYN_EVENTS_SEND_REQUEST = "eventsSendRequest";
4881
5302
  var _DYN_GET_SAMPLING_SCORE = "getSamplingScore";
4882
5303
  var _DYN_GET_HASH_CODE_SCORE = "getHashCodeScore";
@@ -4990,7 +5411,7 @@ function EnvelopeCreatorInit(logger, telemetryItem) {
4990
5411
  }
4991
5412
  }
4992
5413
  var EnvelopeCreator = {
4993
- Version: '3.1.1-nightly3.2403-01'
5414
+ Version: '3.1.1-nightly3.2403-03'
4994
5415
  };
4995
5416
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
4996
5417
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -5181,7 +5602,7 @@ var BaseSendBuffer = /** @class */ (function () {
5181
5602
  _self.getItems = function () {
5182
5603
  return _buffer.slice(0);
5183
5604
  };
5184
- _self[_DYN_BATCH_PAYLOADS ] = function (payload) {
5605
+ _self.batchPayloads = function (payload) {
5185
5606
  if (payload && payload[_DYN_LENGTH ] > 0) {
5186
5607
  var batch = config[_DYN_EMIT_LINE_DELIMITED_0 ] ?
5187
5608
  payload.join("\n") :
@@ -5231,7 +5652,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5231
5652
  dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {
5232
5653
  var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ]);
5233
5654
  var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5234
- var buffer = _self._set(bufferItems[_DYN_CONCAT ](notDeliveredItems));
5655
+ var buffer = _self._set(bufferItems.concat(notDeliveredItems));
5235
5656
  if (buffer[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
5236
5657
  buffer[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
5237
5658
  }
@@ -5258,7 +5679,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5258
5679
  _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], _self._set(_removePayloadsFromBuffer(payload, _self[_DYN__GET ]())));
5259
5680
  var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5260
5681
  if (sentElements instanceof Array && payload instanceof Array) {
5261
- sentElements = sentElements[_DYN_CONCAT ](payload);
5682
+ sentElements = sentElements.concat(payload);
5262
5683
  if (sentElements[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
5263
5684
  _throwInternal(logger, 1 , 67 , "Sent buffer reached its maximum size: " + sentElements[_DYN_LENGTH ], true);
5264
5685
  sentElements[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
@@ -5491,7 +5912,7 @@ var HashCodeScoreGenerator = /** @class */ (function () {
5491
5912
  return 0;
5492
5913
  }
5493
5914
  while (input[_DYN_LENGTH ] < MIN_INPUT_LENGTH) {
5494
- input = input[_DYN_CONCAT ](input);
5915
+ input = input.concat(input);
5495
5916
  }
5496
5917
  var hash = 5381;
5497
5918
  for (var i = 0; i < input[_DYN_LENGTH ]; ++i) {
@@ -5571,18 +5992,7 @@ function _getResponseText(xhr) {
5571
5992
  return null;
5572
5993
  }
5573
5994
  function isOverrideFn(httpXHROverride) {
5574
- return httpXHROverride && httpXHROverride[_DYN_SEND_POST ];
5575
- }
5576
- function _prependTransports(theTransports, newTransports) {
5577
- if (newTransports) {
5578
- if (isNumber(newTransports)) {
5579
- theTransports = [newTransports][_DYN_CONCAT ](theTransports);
5580
- }
5581
- else if (isArray(newTransports)) {
5582
- theTransports = newTransports[_DYN_CONCAT ](theTransports);
5583
- }
5584
- }
5585
- return theTransports;
5995
+ return httpXHROverride && httpXHROverride.sendPOST;
5586
5996
  }
5587
5997
  var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
5588
5998
  endpointUrl: cfgDfValidate(isTruthy, DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH)
@@ -5595,7 +6005,7 @@ var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
5595
6005
  _a.isRetryDisabled = cfgDfBoolean(),
5596
6006
  _a[_DYN_IS_BEACON_API_DISABL3 ] = cfgDfBoolean(true),
5597
6007
  _a[_DYN_DISABLE_SEND_BEACON_7 ] = cfgDfBoolean(true),
5598
- _a.disableXhr = cfgDfBoolean(),
6008
+ _a[_DYN_DISABLE_XHR ] = cfgDfBoolean(),
5599
6009
  _a[_DYN_ONUNLOAD_DISABLE_FET6 ] = cfgDfBoolean(),
5600
6010
  _a[_DYN_ONUNLOAD_DISABLE_BEA2 ] = cfgDfBoolean(),
5601
6011
  _a[_DYN_INSTRUMENTATION_KEY ] = UNDEFINED_VALUE,
@@ -5660,6 +6070,7 @@ var Sender = /** @class */ (function (_super) {
5660
6070
  var _xhrSend;
5661
6071
  var _fallbackSend;
5662
6072
  var _disableBeaconSplit;
6073
+ var _sendPostMgr;
5663
6074
  dynamicProto(Sender, _this, function (_self, _base) {
5664
6075
  _initDefaults();
5665
6076
  _self.pause = function () {
@@ -5704,11 +6115,11 @@ var Sender = /** @class */ (function (_super) {
5704
6115
  _self.addHeader = function (name, value) {
5705
6116
  _headers[name] = value;
5706
6117
  };
5707
- _self.initialize = function (config, core, extensions, pluginChain) {
6118
+ _self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
5708
6119
  if (_self.isInitialized()) {
5709
6120
  _throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 28 , "Sender is already initialized");
5710
6121
  }
5711
- _base.initialize(config, core, extensions, pluginChain);
6122
+ _base[_DYN_INITIALIZE ](config, core, extensions, pluginChain);
5712
6123
  var identifier = _self.identifier;
5713
6124
  _serializer = new Serializer(core.logger);
5714
6125
  _consecutiveErrors = 0;
@@ -5743,7 +6154,7 @@ var Sender = /** @class */ (function (_super) {
5743
6154
  _beaconOnUnloadSupported = senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ] === false && isBeaconsSupported();
5744
6155
  _beaconNormalSupported = senderConfig[_DYN_IS_BEACON_API_DISABL3 ] === false && isBeaconsSupported();
5745
6156
  _alwaysUseCustomSend = senderConfig[_DYN_ALWAYS_USE_XHR_OVERR4 ];
5746
- _disableXhr = !!senderConfig.disableXhr;
6157
+ _disableXhr = !!senderConfig[_DYN_DISABLE_XHR ];
5747
6158
  var bufferOverride = senderConfig[_DYN_BUFFER_OVERRIDE ];
5748
6159
  var canUseSessionStorage = !!senderConfig[_DYN_ENABLE_SESSION_STORA5 ] &&
5749
6160
  (!!bufferOverride || utlCanUseSessionStorage());
@@ -5785,13 +6196,21 @@ var Sender = /** @class */ (function (_super) {
5785
6196
  else {
5786
6197
  _customHeaders = null;
5787
6198
  }
5788
- _enableSendPromise = senderConfig.enableSendPromise;
6199
+ _enableSendPromise = senderConfig[_DYN_ENABLE_SEND_PROMISE ];
6200
+ var sendPostConfig = _getSendPostMgrConfig();
6201
+ if (!_sendPostMgr) {
6202
+ _sendPostMgr = new SenderPostManager();
6203
+ _sendPostMgr[_DYN_INITIALIZE ](sendPostConfig, diagLog);
6204
+ }
6205
+ else {
6206
+ _sendPostMgr.SetConfig(sendPostConfig);
6207
+ }
5789
6208
  var customInterface = senderConfig.httpXHROverride;
5790
6209
  var httpInterface = null;
5791
6210
  var syncInterface = null;
5792
- var theTransports = _prependTransports([3 , 1 , 2 ], senderConfig.transports);
5793
- httpInterface = _getSenderInterface(theTransports, false);
5794
- var xhrInterface = { sendPOST: _xhrSender };
6211
+ var theTransports = prependTransports([3 , 1 , 2 ], senderConfig.transports);
6212
+ httpInterface = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ](theTransports, false);
6213
+ var xhrInterface = _sendPostMgr && _sendPostMgr.getFallbackInst();
5795
6214
  _xhrSend = function (payload, isAsync) {
5796
6215
  return _doSend(xhrInterface, payload, isAsync);
5797
6216
  };
@@ -5805,11 +6224,11 @@ var Sender = /** @class */ (function (_super) {
5805
6224
  if (_fetchKeepAlive) {
5806
6225
  _syncUnloadSender = _fetchKeepAliveSender;
5807
6226
  }
5808
- var syncTransports = _prependTransports([3 , 1 ], senderConfig[_DYN_UNLOAD_TRANSPORTS ]);
6227
+ var syncTransports = prependTransports([3 , 1 ], senderConfig[_DYN_UNLOAD_TRANSPORTS ]);
5809
6228
  if (!_fetchKeepAlive) {
5810
6229
  syncTransports = syncTransports.filter(function (transport) { return transport !== 2 ; });
5811
6230
  }
5812
- syncInterface = _getSenderInterface(syncTransports, true);
6231
+ syncInterface = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ](syncTransports, true);
5813
6232
  syncInterface = _alwaysUseCustomSend ? customInterface : (syncInterface || customInterface);
5814
6233
  if ((_alwaysUseCustomSend || senderConfig[_DYN_UNLOAD_TRANSPORTS ] || !_syncUnloadSender) && syncInterface) {
5815
6234
  _syncUnloadSender = function (payload, isAsync) {
@@ -5851,10 +6270,8 @@ var Sender = /** @class */ (function (_super) {
5851
6270
  _self.isCompletelyIdle = function () {
5852
6271
  return !_paused && _syncFetchPayload === 0 && _self._buffer[_DYN_COUNT ]() === 0;
5853
6272
  };
5854
- _self[_DYN__XHR_READY_STATE_CHA8 ] = function (xhr, payload, countOfItemsInPayload) {
5855
- if (xhr.readyState === 4) {
5856
- _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, _formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
5857
- }
6273
+ _self._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {
6274
+ return _xhrReadyStateChange(xhr, payload, countOfItemsInPayload);
5858
6275
  };
5859
6276
  _self[_DYN_TRIGGER_SEND ] = function (async, forcedSender, sendReason) {
5860
6277
  if (async === void 0) { async = true; }
@@ -5930,7 +6347,7 @@ var Sender = /** @class */ (function (_super) {
5930
6347
  _self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
5931
6348
  }
5932
6349
  if (failed[_DYN_LENGTH ] > 0) {
5933
- _self[_DYN__ON_ERROR ](failed, _formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
6350
+ _self[_DYN__ON_ERROR ](failed, formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
5934
6351
  }
5935
6352
  if (retry[_DYN_LENGTH ] > 0) {
5936
6353
  _resendPayload(retry);
@@ -5943,22 +6360,89 @@ var Sender = /** @class */ (function (_super) {
5943
6360
  _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
5944
6361
  };
5945
6362
  _self._xdrOnLoad = function (xdr, payload) {
6363
+ return _xdrOnLoad(xdr, payload);
6364
+ };
6365
+ function _xdrOnLoad(xdr, payload) {
5946
6366
  var responseText = _getResponseText(xdr);
5947
6367
  if (xdr && (responseText + "" === "200" || responseText === "")) {
5948
6368
  _consecutiveErrors = 0;
5949
6369
  _self[_DYN__ON_SUCCESS ](payload, 0);
5950
6370
  }
5951
6371
  else {
5952
- var results = _parseResponse(responseText);
6372
+ var results = parseResponse(responseText);
5953
6373
  if (results && results.itemsReceived && results.itemsReceived > results[_DYN_ITEMS_ACCEPTED ]
5954
6374
  && !_isRetryDisabled) {
5955
6375
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, results);
5956
6376
  }
5957
6377
  else {
5958
- _self[_DYN__ON_ERROR ](payload, _formatErrorMessageXdr(xdr));
6378
+ _self[_DYN__ON_ERROR ](payload, formatErrorMessageXdr(xdr));
5959
6379
  }
5960
6380
  }
5961
- };
6381
+ }
6382
+ function _getSendPostMgrConfig() {
6383
+ var _a;
6384
+ try {
6385
+ var onCompleteFuncs = {
6386
+ xdrOnComplete: function (xdr, oncomplete, payload) {
6387
+ var data = _getPayloadArr(payload);
6388
+ if (!data) {
6389
+ return;
6390
+ }
6391
+ return _xdrOnLoad(xdr, data);
6392
+ },
6393
+ fetchOnComplete: function (response, onComplete, resValue, payload) {
6394
+ var data = _getPayloadArr(payload);
6395
+ if (!data) {
6396
+ return;
6397
+ }
6398
+ return _checkResponsStatus(response.status, data, response.url, data[_DYN_LENGTH ], response.statusText, resValue || "");
6399
+ },
6400
+ xhrOnComplete: function (request, oncomplete, payload) {
6401
+ var data = _getPayloadArr(payload);
6402
+ if (!data) {
6403
+ return;
6404
+ }
6405
+ return _xhrReadyStateChange(request, data, data[_DYN_LENGTH ]);
6406
+ },
6407
+ beaconOnRetry: function (data, onComplete, canSend) {
6408
+ return _onBeaconRetry(data, onComplete, canSend);
6409
+ }
6410
+ };
6411
+ var config = (_a = {},
6412
+ _a[_DYN_ENABLE_SEND_PROMISE ] = _enableSendPromise,
6413
+ _a.isOneDs = false,
6414
+ _a.disableCredentials = false,
6415
+ _a[_DYN_DISABLE_XHR ] = _disableXhr,
6416
+ _a.disableBeacon = !_beaconNormalSupported,
6417
+ _a.disableBeaconSync = !_beaconOnUnloadSupported,
6418
+ _a.senderOnCompleteCallBack = onCompleteFuncs,
6419
+ _a);
6420
+ return config;
6421
+ }
6422
+ catch (e) {
6423
+ }
6424
+ return null;
6425
+ }
6426
+ function _xhrReadyStateChange(xhr, payload, countOfItemsInPayload) {
6427
+ if (xhr.readyState === 4) {
6428
+ _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
6429
+ }
6430
+ }
6431
+ function _getPayloadArr(payload) {
6432
+ try {
6433
+ if (payload) {
6434
+ var internalPayload = payload;
6435
+ var arr = internalPayload[_DYN_ORI_PAYLOAD ];
6436
+ if (arr && arr[_DYN_LENGTH ]) {
6437
+ return arr;
6438
+ }
6439
+ return null;
6440
+ }
6441
+ }
6442
+ catch (e) {
6443
+ }
6444
+ return null;
6445
+ }
5962
6446
  function _validate(telemetryItem, diagLogger) {
5963
6447
  if (_disableTelemetry) {
5964
6448
  return false;
@@ -6054,36 +6538,6 @@ var Sender = /** @class */ (function (_super) {
6054
6538
  function _isSampledIn(envelope) {
6055
6539
  return _self._sample.isSampledIn(envelope);
6056
6540
  }
6057
- function _getSenderInterface(transports, syncSupport) {
6058
- var _a;
6059
- var transportType = null;
6060
- var sendPostFunc = null;
6061
- var lp = 0;
6062
- while (sendPostFunc == null && lp < transports[_DYN_LENGTH ]) {
6063
- transportType = transports[lp];
6064
- if (!_disableXhr && transportType === 1 ) {
6065
- if (useXDomainRequest()) {
6066
- sendPostFunc = _xdrSender;
6067
- }
6068
- else if (isXhrSupported()) {
6069
- sendPostFunc = _xhrSender;
6070
- }
6071
- }
6072
- else if (transportType === 2 && isFetchSupported(syncSupport)) {
6073
- sendPostFunc = _fetchSender;
6074
- }
6075
- else if (transportType === 3 && (syncSupport ? _beaconOnUnloadSupported : _beaconNormalSupported)) {
6076
- sendPostFunc = _beaconSender;
6077
- }
6078
- lp++;
6079
- }
6080
- if (sendPostFunc) {
6081
- return _a = {},
6082
- _a[_DYN_SEND_POST ] = sendPostFunc,
6083
- _a;
6084
- }
6085
- return null;
6086
- }
6087
6541
  function _getOnComplete(payload, status, headers, response) {
6088
6542
  if (status === 200 && payload) {
6089
6543
  _self._onSuccess(payload, payload[_DYN_LENGTH ]);
@@ -6098,7 +6552,7 @@ var Sender = /** @class */ (function (_super) {
6098
6552
  return _getOnComplete(payload, status, headers, response);
6099
6553
  };
6100
6554
  var payloadData = _getPayload(payload);
6101
- var sendPostFunc = sendInterface && sendInterface[_DYN_SEND_POST ];
6555
+ var sendPostFunc = sendInterface && sendInterface.sendPOST;
6102
6556
  if (sendPostFunc && payloadData) {
6103
6557
  if (markAsSent) {
6104
6558
  _self._buffer[_DYN_MARK_AS_SENT ](payload);
@@ -6110,7 +6564,7 @@ var Sender = /** @class */ (function (_super) {
6110
6564
  function _getPayload(payload) {
6111
6565
  var _a;
6112
6566
  if (isArray(payload) && payload[_DYN_LENGTH ] > 0) {
6113
- var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
6567
+ var batch = _self[_DYN__BUFFER ].batchPayloads(payload);
6114
6568
  var payloadData = (_a = {},
6115
6569
  _a[_DYN_DATA ] = batch,
6116
6570
  _a.urlString = _endpointUrl,
@@ -6123,9 +6577,6 @@ var Sender = /** @class */ (function (_super) {
6123
6577
  }
6124
6578
  return null;
6125
6579
  }
6126
- function _fetchSender(payload, oncomplete, sync) {
6127
- return _doFetchSender(payload, oncomplete, false);
6128
- }
6129
6580
  function _checkMaxSize(incomingPayload) {
6130
6581
  var incomingSize = incomingPayload ? incomingPayload[_DYN_LENGTH ] : 0;
6131
6582
  if ((_self[_DYN__BUFFER ].size() + incomingSize) > _maxBatchSizeInBytes) {
@@ -6139,7 +6590,7 @@ var Sender = /** @class */ (function (_super) {
6139
6590
  function _checkResponsStatus(status, payload, responseUrl, countOfItemsInPayload, errorMessage, res) {
6140
6591
  var response = null;
6141
6592
  if (!_self._appId) {
6142
- response = _parseResponse(res);
6593
+ response = parseResponse(res);
6143
6594
  if (response && response.appId) {
6144
6595
  _self._appId = response.appId;
6145
6596
  }
@@ -6171,7 +6622,7 @@ var Sender = /** @class */ (function (_super) {
6171
6622
  _checkAndUpdateEndPointUrl(responseUrl);
6172
6623
  if (status === 206) {
6173
6624
  if (!response) {
6174
- response = _parseResponse(res);
6625
+ response = parseResponse(res);
6175
6626
  }
6176
6627
  if (response && !_isRetryDisabled) {
6177
6628
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, response);
@@ -6199,223 +6650,61 @@ var Sender = /** @class */ (function (_super) {
6199
6650
  }
6200
6651
  return false;
6201
6652
  }
6202
- function _doOnComplete(oncomplete, status, headers, response) {
6203
- try {
6204
- oncomplete(status, headers, response);
6205
- }
6206
- catch (e) {
6207
- }
6208
- }
6209
6653
  function _doUnloadSend(payload, isAsync) {
6210
6654
  if (_syncUnloadSender) {
6211
6655
  _syncUnloadSender(payload, false);
6212
6656
  }
6213
6657
  else {
6214
- var payloadData = _getPayload(payload);
6215
- _self._buffer[_DYN_MARK_AS_SENT ](payload);
6216
- _beaconSender(payloadData);
6658
+ var beaconInst = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ]([3 ], true);
6659
+ return _doSend(beaconInst, payload, isAsync);
6217
6660
  }
6218
6661
  }
6219
- function _doBeaconSend(payload, oncomplete) {
6220
- var nav = getNavigator();
6221
- var url = _endpointUrl;
6222
- var buffer = _self[_DYN__BUFFER ];
6223
- var batch = buffer[_DYN_BATCH_PAYLOADS ](payload);
6224
- var plainTextBatch = new Blob([batch], { type: "text/plain;charset=UTF-8" });
6225
- var queued = nav.sendBeacon(url, plainTextBatch);
6226
- if (queued) {
6227
- _self._onSuccess(payload, payload[_DYN_LENGTH ]);
6228
- }
6229
- return queued;
6230
- }
6231
- function _beaconSender(payload, oncomplete, sync) {
6662
+ function _onBeaconRetry(payload, onComplete, canSend) {
6232
6663
  var internalPayload = payload;
6233
6664
  var data = internalPayload && internalPayload[_DYN_ORI_PAYLOAD ];
6234
- if (isArray(data) && data[_DYN_LENGTH ] > 0) {
6235
- if (!_doBeaconSend(data)) {
6236
- if (!_disableBeaconSplit) {
6237
- var droppedPayload = [];
6238
- for (var lp = 0; lp < data[_DYN_LENGTH ]; lp++) {
6239
- var thePayload = data[lp];
6240
- if (!_doBeaconSend([thePayload])) {
6241
- droppedPayload[_DYN_PUSH ](thePayload);
6242
- }
6243
- }
6244
- if (droppedPayload[_DYN_LENGTH ] > 0) {
6245
- _fallbackSend && _fallbackSend(droppedPayload, true);
6246
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
6247
- }
6665
+ if (!_disableBeaconSplit) {
6666
+ var droppedPayload = [];
6667
+ for (var lp = 0; lp < data[_DYN_LENGTH ]; lp++) {
6668
+ var thePayload = data[lp];
6669
+ var arr = [thePayload];
6670
+ var item = _getPayload(arr);
6671
+ if (!canSend(item, onComplete)) {
6672
+ droppedPayload[_DYN_PUSH ](thePayload);
6248
6673
  }
6249
6674
  else {
6250
- _fallbackSend && _fallbackSend(data, true);
6251
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
6675
+ _self._onSuccess(arr, arr[_DYN_LENGTH ]);
6252
6676
  }
6253
6677
  }
6254
- }
6255
- }
6256
- function _xhrSender(payload, oncomplete, sync) {
6257
- var internalPayload = payload;
6258
- var thePromise;
6259
- var resolveFunc;
6260
- var rejectFunc;
6261
- var xhr = new XMLHttpRequest();
6262
- var endPointUrl = _endpointUrl;
6263
- try {
6264
- xhr[DisabledPropertyName] = true;
6265
- }
6266
- catch (e) {
6267
- }
6268
- xhr.open("POST", endPointUrl, !sync);
6269
- xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
6270
- if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
6271
- xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
6272
- }
6273
- arrForEach(objKeys(_headers), function (headerName) {
6274
- xhr[_DYN_SET_REQUEST_HEADER ](headerName, _headers[headerName]);
6275
- });
6276
- xhr.onreadystatechange = function () {
6277
- var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
6278
- _self._xhrReadyStateChange(xhr, oriPayload, oriPayload[_DYN_LENGTH ]);
6279
- if (xhr.readyState === 4) {
6280
- resolveFunc && resolveFunc(true);
6678
+ if (droppedPayload[_DYN_LENGTH ] > 0) {
6679
+ _fallbackSend && _fallbackSend(droppedPayload, true);
6680
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
6281
6681
  }
6282
- };
6283
- xhr.onerror = function (event) {
6284
- _doOnComplete(oncomplete, 400, {}, _formatErrorMessageXhr(xhr));
6285
- rejectFunc && rejectFunc(event);
6286
- };
6287
- if (!sync && _enableSendPromise) {
6288
- thePromise = createPromise(function (resolve, reject) {
6289
- resolveFunc = resolve;
6290
- rejectFunc = reject;
6291
- });
6292
6682
  }
6293
- xhr.send(payload[_DYN_DATA ]);
6294
- return thePromise;
6683
+ else {
6684
+ _fallbackSend && _fallbackSend(data, true);
6685
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
6686
+ }
6295
6687
  }
6296
6688
  function _fetchKeepAliveSender(payload, isAsync) {
6297
- var onComplete = function (status, headers, response) {
6298
- return _getOnComplete(payload, status, headers, response);
6299
- };
6689
+ var transport = null;
6300
6690
  if (isArray(payload)) {
6301
6691
  var payloadSize = payload[_DYN_LENGTH ];
6302
6692
  for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
6303
6693
  payloadSize += payload[lp][_DYN_LENGTH ];
6304
6694
  }
6305
- var payloadData = _getPayload(payload);
6306
- _self._buffer[_DYN_MARK_AS_SENT ](payload);
6307
- if ((_syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
6308
- _doFetchSender(payloadData, onComplete, true);
6695
+ var syncFetchPayload = _sendPostMgr.getSyncFetchPayload();
6696
+ if ((syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
6697
+ transport = 2 ;
6309
6698
  }
6310
6699
  else if (isBeaconsSupported()) {
6311
- _beaconSender(payloadData);
6700
+ transport = 3 ;
6312
6701
  }
6313
6702
  else {
6314
- _fallbackSend && _fallbackSend(payload, true);
6703
+ transport = 1 ;
6315
6704
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with xhrSender.");
6316
6705
  }
6317
- }
6318
- }
6319
- function _doFetchSender(payload, oncomplete, sync) {
6320
- var _a;
6321
- var endPointUrl = _endpointUrl;
6322
- var internalPayload = payload;
6323
- var batch = internalPayload[_DYN_DATA ];
6324
- var plainTextBatch = new Blob([batch], { type: "application/json" });
6325
- var thePromise;
6326
- var resolveFunc;
6327
- var rejectFunc;
6328
- var requestHeaders = new Headers();
6329
- var batchLength = batch[_DYN_LENGTH ];
6330
- var ignoreResponse = false;
6331
- var responseHandled = false;
6332
- if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
6333
- requestHeaders.append(RequestHeaders[6 ], RequestHeaders[7 ]);
6334
- }
6335
- arrForEach(objKeys(_headers), function (headerName) {
6336
- requestHeaders.append(headerName, _headers[headerName]);
6337
- });
6338
- var init = (_a = {
6339
- method: "POST",
6340
- headers: requestHeaders,
6341
- body: plainTextBatch
6342
- },
6343
- _a[DisabledPropertyName] = true
6344
- ,
6345
- _a);
6346
- if (sync) {
6347
- init.keepalive = true;
6348
- ignoreResponse = true;
6349
- _syncFetchPayload += batchLength;
6350
- }
6351
- var request = new Request(endPointUrl, init);
6352
- try {
6353
- request[DisabledPropertyName] = true;
6354
- }
6355
- catch (e) {
6356
- }
6357
- if (!sync && _enableSendPromise) {
6358
- thePromise = createPromise(function (resolve, reject) {
6359
- resolveFunc = resolve;
6360
- rejectFunc = reject;
6361
- });
6362
- }
6363
- try {
6364
- doAwaitResponse(fetch(request), function (result) {
6365
- if (sync) {
6366
- _syncFetchPayload -= batchLength;
6367
- batchLength = 0;
6368
- }
6369
- if (!responseHandled) {
6370
- responseHandled = true;
6371
- if (!result.rejected) {
6372
- var response_1 = result.value;
6373
- if (!response_1.ok) {
6374
- _doOnComplete(oncomplete, 400, {}, response_1.statusText);
6375
- resolveFunc && resolveFunc(false);
6376
- }
6377
- else {
6378
- doAwaitResponse(response_1.text(), function (resp) {
6379
- var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
6380
- _checkResponsStatus(response_1.status, oriPayload, response_1.url, oriPayload[_DYN_LENGTH ], response_1.statusText, resp.value || "");
6381
- resolveFunc && resolveFunc(true);
6382
- });
6383
- }
6384
- }
6385
- else {
6386
- _doOnComplete(oncomplete, 400, {}, result.reason && result.reason.message);
6387
- rejectFunc && rejectFunc(result.reason);
6388
- }
6389
- }
6390
- });
6391
- }
6392
- catch (e) {
6393
- if (!responseHandled) {
6394
- _doOnComplete(oncomplete, 400, {}, dumpObj(e));
6395
- rejectFunc && rejectFunc(e);
6396
- }
6397
- }
6398
- if (ignoreResponse && !responseHandled) {
6399
- responseHandled = true;
6400
- _doOnComplete(oncomplete, 200, {});
6401
- resolveFunc && resolveFunc(true);
6402
- }
6403
- return thePromise;
6404
- }
6405
- function _parseResponse(response) {
6406
- try {
6407
- if (response && response !== "") {
6408
- var result = getJSON().parse(response);
6409
- if (result && result.itemsReceived && result.itemsReceived >= result[_DYN_ITEMS_ACCEPTED ] &&
6410
- result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH ]) {
6411
- return result;
6412
- }
6413
- }
6414
- }
6415
- catch (e) {
6416
- _throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
6417
- response: response
6418
- });
6706
+ var inst = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ]([transport], true);
6707
+ return _doSend(inst, payload, isAsync);
6419
6708
  }
6420
6709
  return null;
6421
6710
  }
@@ -6474,41 +6763,6 @@ var Sender = /** @class */ (function (_super) {
6474
6763
  || statusCode === 503
6475
6764
  || statusCode === 504;
6476
6765
  }
6477
- function _formatErrorMessageXhr(xhr, message) {
6478
- if (xhr) {
6479
- return "XMLHttpRequest,Status:" + xhr.status + ",Response:" + _getResponseText(xhr) || xhr.response || "";
6480
- }
6481
- return message;
6482
- }
6483
- function _xdrSender(payload, oncomplete, sync) {
6484
- var internalPayload = payload;
6485
- var _window = getWindow();
6486
- var xdr = new XDomainRequest();
6487
- var data = internalPayload[_DYN_DATA ];
6488
- xdr.onload = function () {
6489
- var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
6490
- _self._xdrOnLoad(xdr, oriPayload);
6491
- };
6492
- xdr.onerror = function () {
6493
- _doOnComplete(oncomplete, 400, {}, _formatErrorMessageXdr(xdr));
6494
- };
6495
- var hostingProtocol = _window && _window.location && _window.location.protocol || "";
6496
- if (_endpointUrl.lastIndexOf(hostingProtocol, 0) !== 0) {
6497
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " +
6498
- "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.");
6499
- _self._buffer[_DYN_CLEAR ]();
6500
- return;
6501
- }
6502
- var endpointUrl = _endpointUrl.replace(/^(https?:)/, "");
6503
- xdr.open("POST", endpointUrl);
6504
- xdr.send(data);
6505
- }
6506
- function _formatErrorMessageXdr(xdr, message) {
6507
- if (xdr) {
6508
- return "XDomainRequest,Response:" + _getResponseText(xdr) || "";
6509
- }
6510
- return message;
6511
- }
6512
6766
  function _getNotifyMgr() {
6513
6767
  var func = "getNotifyMgr";
6514
6768
  if (_self.core[func]) {
@@ -6569,6 +6823,7 @@ var Sender = /** @class */ (function (_super) {
6569
6823
  _disableBeaconSplit = false;
6570
6824
  _xhrSend = null;
6571
6825
  _fallbackSend = null;
6826
+ _sendPostMgr = null;
6572
6827
  objDefine(_self, "_senderConfig", {
6573
6828
  g: function () {
6574
6829
  return objExtend({}, defaultAppInsightsChannelConfig);