@microsoft/applicationinsights-channel-js 3.1.1-nightly3.2403-01 → 3.1.1-nightly3.2403-02

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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-02.cjs.js} +586 -331
  2. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-02.cjs.js.map +1 -0
  3. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-02.cjs.min.js +6 -0
  4. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-02.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-02.gbl.js} +588 -333
  6. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-02.gbl.js.map +1 -0
  7. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-02.gbl.min.js +6 -0
  8. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-02.gbl.min.js.map +1 -0
  9. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-02.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-02.js} +588 -333
  11. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-02.js.map +1 -0
  12. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-02.min.js +6 -0
  13. package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-02.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-02
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  'use strict';
@@ -1123,7 +1123,7 @@ var _DYN_PUSH$2 = "push";
1123
1123
  var _DYN_SPLICE = "splice";
1124
1124
  var _DYN_HDLR = "hdlr";
1125
1125
  var _DYN_CANCEL = "cancel";
1126
- var _DYN_INITIALIZE = "initialize";
1126
+ var _DYN_INITIALIZE$1 = "initialize";
1127
1127
  var _DYN_IDENTIFIER = "identifier";
1128
1128
  var _DYN_IS_INITIALIZED = "isInitialized";
1129
1129
  var _DYN_GET_PLUGIN = "getPlugin";
@@ -1472,7 +1472,7 @@ function createPromise(executor, timeout) {
1472
1472
  }
1473
1473
 
1474
1474
  var UNDEFINED_VALUE$1 = undefined;
1475
- var STR_EMPTY = "";
1475
+ var STR_EMPTY$1 = "";
1476
1476
  var STR_CORE = "core";
1477
1477
  var STR_DISABLED = "disabled";
1478
1478
  var STR_EXTENSION_CONFIG = "extensionConfig";
@@ -1513,7 +1513,7 @@ function getExceptionName(object) {
1513
1513
  if (isError(object)) {
1514
1514
  return object[_DYN_NAME$2 ];
1515
1515
  }
1516
- return STR_EMPTY;
1516
+ return STR_EMPTY$1;
1517
1517
  }
1518
1518
  function setValue(target, field, value, valChk, srcChk) {
1519
1519
  var theValue = value;
@@ -1617,6 +1617,7 @@ function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {
1617
1617
  }
1618
1618
 
1619
1619
  var strDocumentMode = "documentMode";
1620
+ var strLocation = "location";
1620
1621
  var strConsole = "console";
1621
1622
  var strJSON = "JSON";
1622
1623
  var strCrypto = "crypto";
@@ -1626,6 +1627,7 @@ var strTrident = "trident/";
1626
1627
  var strXMLHttpRequest = "XMLHttpRequest";
1627
1628
  var _isTrident = null;
1628
1629
  var _navUserAgentCheck = null;
1630
+ var _enableMocks = false;
1629
1631
  var _useXDomainRequest = null;
1630
1632
  var _beaconsSupported = null;
1631
1633
  function _hasProperty(theClass, property) {
@@ -1653,6 +1655,18 @@ function _hasProperty(theClass, property) {
1653
1655
  }
1654
1656
  return supported;
1655
1657
  }
1658
+ function getLocation(checkForMock) {
1659
+ if (checkForMock && _enableMocks) {
1660
+ var mockLocation = getInst("__mockLocation");
1661
+ if (mockLocation) {
1662
+ return mockLocation;
1663
+ }
1664
+ }
1665
+ if (typeof location === strShimObject && location) {
1666
+ return location;
1667
+ }
1668
+ return getInst(strLocation);
1669
+ }
1656
1670
  function getConsole() {
1657
1671
  if (typeof console !== strShimUndefined) {
1658
1672
  return console;
@@ -1678,7 +1692,7 @@ function isIE() {
1678
1692
  var nav = getNavigator();
1679
1693
  if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
1680
1694
  _navUserAgentCheck = nav[_DYN_USER_AGENT ];
1681
- var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
1695
+ var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]();
1682
1696
  _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
1683
1697
  }
1684
1698
  return _isTrident;
@@ -1687,9 +1701,9 @@ function getIEVersion(userAgentStr) {
1687
1701
  if (userAgentStr === void 0) { userAgentStr = null; }
1688
1702
  if (!userAgentStr) {
1689
1703
  var navigator_1 = getNavigator() || {};
1690
- userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]() : STR_EMPTY;
1704
+ userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]() : STR_EMPTY$1;
1691
1705
  }
1692
- var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
1706
+ var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]();
1693
1707
  if (strContains(ua, strMsie)) {
1694
1708
  var doc = getDocument() || {};
1695
1709
  return Math.max(parseInt(ua[_DYN_SPLIT$1 ](strMsie)[1]), (doc[strDocumentMode] || 0));
@@ -1798,7 +1812,7 @@ function newId(maxLength) {
1798
1812
  var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1799
1813
  var number = random32() >>> 0;
1800
1814
  var chars = 0;
1801
- var result = STR_EMPTY;
1815
+ var result = STR_EMPTY$1;
1802
1816
  while (result[_DYN_LENGTH$2 ] < maxLength) {
1803
1817
  chars++;
1804
1818
  result += base64chars.charAt(number & 0x3F);
@@ -1836,11 +1850,11 @@ function _getCache(data, target) {
1836
1850
  }
1837
1851
  function createUniqueNamespace(name, includeVersion) {
1838
1852
  if (includeVersion === void 0) { includeVersion = false; }
1839
- return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
1853
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY$1) + instanceName);
1840
1854
  }
1841
1855
  function createElmNodeData(name) {
1842
1856
  var data = {
1843
- id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
1857
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY$1) + "." + version),
1844
1858
  accept: function (target) {
1845
1859
  return _canAcceptData(target);
1846
1860
  },
@@ -2545,9 +2559,9 @@ var _logFuncs = (_a$2 = {},
2545
2559
  _a$2);
2546
2560
  function _sanitizeDiagnosticText(text) {
2547
2561
  if (text) {
2548
- return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
2562
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
2549
2563
  }
2550
- return STR_EMPTY;
2564
+ return STR_EMPTY$1;
2551
2565
  }
2552
2566
  function _logToConsole(func, message) {
2553
2567
  var theConsole = getConsole();
@@ -2569,12 +2583,12 @@ var _InternalLogMessage = /** @class */ (function () {
2569
2583
  _self[_DYN_MESSAGE$1 ] =
2570
2584
  (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
2571
2585
  msgId;
2572
- var strProps = STR_EMPTY;
2586
+ var strProps = STR_EMPTY$1;
2573
2587
  if (hasJSON()) {
2574
2588
  strProps = getJSON().stringify(properties);
2575
2589
  }
2576
- var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
2577
- (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
2590
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
2591
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
2578
2592
  _self[_DYN_MESSAGE$1 ] += diagnosticText;
2579
2593
  }
2580
2594
  _InternalLogMessage.dataType = "MessageData";
@@ -3107,7 +3121,7 @@ function createTelemetryPluginProxy(plugin, config, core) {
3107
3121
  doPerf(itemCtx[STR_CORE ](), function () { return identifier + ":" + name; }, function () {
3108
3122
  hasRunContext[chainId] = true;
3109
3123
  try {
3110
- var nextId = nextProxy ? nextProxy._id : STR_EMPTY;
3124
+ var nextId = nextProxy ? nextProxy._id : STR_EMPTY$1;
3111
3125
  if (nextId) {
3112
3126
  hasRunContext[nextId] = false;
3113
3127
  }
@@ -3252,7 +3266,7 @@ var BaseTelemetryPlugin = /** @class */ (function () {
3252
3266
  var _hookContainer;
3253
3267
  _initDefaults();
3254
3268
  dynamicProto(BaseTelemetryPlugin, _self, function (_self) {
3255
- _self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
3269
+ _self[_DYN_INITIALIZE$1 ] = function (config, core, extensions, pluginChain) {
3256
3270
  _setDefaults(config, core, pluginChain);
3257
3271
  _isinitialized = true;
3258
3272
  };
@@ -3393,16 +3407,16 @@ var elmNodeData = createElmNodeData("events");
3393
3407
  var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
3394
3408
  function _normalizeNamespace(name) {
3395
3409
  if (name && name[_DYN_REPLACE ]) {
3396
- return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY);
3410
+ return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY$1);
3397
3411
  }
3398
3412
  return name;
3399
3413
  }
3400
3414
  function _getEvtNamespace(eventName, evtNamespace) {
3401
3415
  var _a;
3402
3416
  if (evtNamespace) {
3403
- var theNamespace_1 = STR_EMPTY;
3417
+ var theNamespace_1 = STR_EMPTY$1;
3404
3418
  if (isArray(evtNamespace)) {
3405
- theNamespace_1 = STR_EMPTY;
3419
+ theNamespace_1 = STR_EMPTY$1;
3406
3420
  arrForEach(evtNamespace, function (name) {
3407
3421
  name = _normalizeNamespace(name);
3408
3422
  if (name) {
@@ -3420,13 +3434,13 @@ function _getEvtNamespace(eventName, evtNamespace) {
3420
3434
  if (theNamespace_1[0] !== ".") {
3421
3435
  theNamespace_1 = "." + theNamespace_1;
3422
3436
  }
3423
- eventName = (eventName || STR_EMPTY) + theNamespace_1;
3437
+ eventName = (eventName || STR_EMPTY$1) + theNamespace_1;
3424
3438
  }
3425
3439
  }
3426
- var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
3440
+ var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY$1) || []);
3427
3441
  return _a = {},
3428
3442
  _a[_DYN_TYPE ] = parsedEvent[1],
3429
- _a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT$1 ](".").sort()).join("."),
3443
+ _a.ns = ((parsedEvent[2] || STR_EMPTY$1).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY$1)[_DYN_SPLIT$1 ](".").sort()).join("."),
3430
3444
  _a;
3431
3445
  }
3432
3446
  function _getRegisteredEvents(target, evtName, addDefault) {
@@ -3575,14 +3589,20 @@ var RequestHeaders = createValueMap({
3575
3589
  var _DYN_SPLIT = "split";
3576
3590
  var _DYN_LENGTH$1 = "length";
3577
3591
  var _DYN_TO_LOWER_CASE = "toLowerCase";
3592
+ var _DYN_LOCATION = "location";
3578
3593
  var _DYN_TO_STRING$1 = "toString";
3579
3594
  var _DYN_PUSH$1 = "push";
3595
+ var _DYN_URL_STRING = "urlString";
3596
+ var _DYN_DATA$1 = "data";
3597
+ var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
3598
+ var _DYN_REASON = "reason";
3599
+ var _DYN_MESSAGE = "message";
3580
3600
  var _DYN_REMOVE_ITEM = "removeItem";
3581
3601
  var _DYN_NAME$1 = "name";
3582
- var _DYN_MESSAGE = "message";
3583
3602
  var _DYN_COUNT$1 = "count";
3584
3603
  var _DYN_STRINGIFY$1 = "stringify";
3585
3604
  var _DYN_PATHNAME = "pathname";
3605
+ var _DYN_ITEMS_RECEIVED$1 = "itemsReceived";
3586
3606
  var _DYN_EXCEPTIONS = "exceptions";
3587
3607
  var _DYN_PARSED_STACK = "parsedStack";
3588
3608
  var _DYN_PROPERTIES = "properties";
@@ -3804,6 +3824,54 @@ function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName)
3804
3824
  data: data
3805
3825
  };
3806
3826
  }
3827
+ function getResponseText(xhr) {
3828
+ try {
3829
+ return xhr.responseText;
3830
+ }
3831
+ catch (e) {
3832
+ }
3833
+ return null;
3834
+ }
3835
+ function formatErrorMessageXdr(xdr, message) {
3836
+ if (xdr) {
3837
+ return "XDomainRequest,Response:" + getResponseText(xdr) || "";
3838
+ }
3839
+ return message;
3840
+ }
3841
+ function formatErrorMessageXhr(xhr, message) {
3842
+ if (xhr) {
3843
+ return "XMLHttpRequest,Status:" + xhr.status + ",Response:" + getResponseText(xhr) || xhr.response || "";
3844
+ }
3845
+ return message;
3846
+ }
3847
+ function prependTransports(theTransports, newTransports) {
3848
+ if (newTransports) {
3849
+ if (isNumber(newTransports)) {
3850
+ theTransports = [newTransports].concat(theTransports);
3851
+ }
3852
+ else if (isArray(newTransports)) {
3853
+ theTransports = newTransports.concat(theTransports);
3854
+ }
3855
+ }
3856
+ return theTransports;
3857
+ }
3858
+ function parseResponse(response, diagLog) {
3859
+ try {
3860
+ if (response && response !== "") {
3861
+ var result = getJSON().parse(response);
3862
+ if (result && result[_DYN_ITEMS_RECEIVED$1 ] && result[_DYN_ITEMS_RECEIVED$1 ] >= result.itemsAccepted &&
3863
+ result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH$1 ]) {
3864
+ return result;
3865
+ }
3866
+ }
3867
+ }
3868
+ catch (e) {
3869
+ _throwInternal(diagLog, 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
3870
+ response: response
3871
+ });
3872
+ }
3873
+ return null;
3874
+ }
3807
3875
 
3808
3876
  var StorageType = createEnumStyle({
3809
3877
  LocalStorage: 0 ,
@@ -3882,7 +3950,7 @@ var Envelope = /** @class */ (function () {
3882
3950
  _self.sampleRate = 100.0;
3883
3951
  _self.tags = {};
3884
3952
  _self[_DYN_NAME$1 ] = dataSanitizeString(logger, name) || strNotSpecified;
3885
- _self.data = data;
3953
+ _self[_DYN_DATA$1 ] = data;
3886
3954
  _self.time = toISOString(new Date());
3887
3955
  _self.aiDataContract = {
3888
3956
  time: 1 ,
@@ -4039,8 +4107,8 @@ function _getStackFromErrorObj(errorObj) {
4039
4107
  else if (getWindow() && getWindow()["opera"] && errorObj[strMessage]) {
4040
4108
  details = _getOperaStack(errorObj[_DYN_MESSAGE ]);
4041
4109
  }
4042
- else if (errorObj["reason"] && errorObj.reason[strStack]) {
4043
- details = _convertStackObj(errorObj.reason[strStack]);
4110
+ else if (errorObj["reason"] && errorObj[_DYN_REASON ][strStack]) {
4111
+ details = _convertStackObj(errorObj[_DYN_REASON ][strStack]);
4044
4112
  }
4045
4113
  else if (isString(errorObj)) {
4046
4114
  details = _convertStackObj(errorObj);
@@ -4511,7 +4579,7 @@ var RemoteDependencyData = /** @class */ (function () {
4511
4579
  _self.resultCode = resultCode + "";
4512
4580
  _self.type = dataSanitizeString(logger, requestAPI);
4513
4581
  var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);
4514
- _self.data = dataSanitizeUrl(logger, commandName) || dependencyFields.data;
4582
+ _self[_DYN_DATA$1 ] = dataSanitizeUrl(logger, commandName) || dependencyFields[_DYN_DATA$1 ];
4515
4583
  _self.target = dataSanitizeString(logger, dependencyFields.target);
4516
4584
  if (correlationContext) {
4517
4585
  _self.target = "".concat(_self.target, " | ").concat(correlationContext);
@@ -4677,6 +4745,360 @@ var ContextTagKeys = /** @class */ (function (_super) {
4677
4745
 
4678
4746
  var CtxTagKeys = new ContextTagKeys();
4679
4747
 
4748
+ var STR_EMPTY = "";
4749
+ var SenderPostManager = /** @class */ (function () {
4750
+ function SenderPostManager() {
4751
+ var _syncFetchPayload = 0;
4752
+ var _enableSendPromise;
4753
+ var _isInitialized;
4754
+ var _diagLog;
4755
+ var _isOneDs;
4756
+ var _onCompleteFuncs;
4757
+ var _disableCredentials;
4758
+ var _fallbackInst;
4759
+ var _disableXhr;
4760
+ var _disableBeacon;
4761
+ var _disableBeaconSync;
4762
+ dynamicProto(SenderPostManager, this, function (_self, _base) {
4763
+ var _sendCredentials = true;
4764
+ _initDefaults();
4765
+ _self.initialize = function (config, diagLog) {
4766
+ _diagLog = diagLog;
4767
+ if (_isInitialized) {
4768
+ _throwInternal(_diagLog, 1 , 28 , "Sender is already initialized");
4769
+ }
4770
+ _self.SetConfig(config);
4771
+ _isInitialized = true;
4772
+ };
4773
+ _self["_getDbgPlgTargets"] = function () {
4774
+ return [_isInitialized, _isOneDs, _disableCredentials, _enableSendPromise];
4775
+ };
4776
+ _self.SetConfig = function (config) {
4777
+ try {
4778
+ _onCompleteFuncs = config.senderOnCompleteCallBack || {};
4779
+ _disableCredentials = !!config.disableCredentials;
4780
+ _isOneDs = !!config.isOneDs;
4781
+ _enableSendPromise = !!config.enableSendPromise;
4782
+ _disableXhr = !!config.disableXhr;
4783
+ _disableBeacon = !!config.disableBeacon;
4784
+ _disableBeaconSync = !!config.disableBeaconSync;
4785
+ _fallbackInst = { sendPOST: _xhrSender };
4786
+ if (_disableCredentials) {
4787
+ var location_1 = getLocation();
4788
+ if (location_1 && location_1.protocol && location_1.protocol[_DYN_TO_LOWER_CASE ]() === "file:") {
4789
+ _sendCredentials = false;
4790
+ }
4791
+ }
4792
+ return true;
4793
+ }
4794
+ catch (e) {
4795
+ }
4796
+ return false;
4797
+ };
4798
+ _self.getSyncFetchPayload = function () {
4799
+ return _syncFetchPayload;
4800
+ };
4801
+ _self.getXhrInst = function (transports, sync) {
4802
+ if (transports && transports[_DYN_LENGTH$1 ]) {
4803
+ return _getSenderInterface(transports, sync);
4804
+ }
4805
+ return null;
4806
+ };
4807
+ _self.getFallbackInst = function () {
4808
+ return _fallbackInst;
4809
+ };
4810
+ _self._doTeardown = function (unloadCtx, unloadState) {
4811
+ _initDefaults();
4812
+ };
4813
+ function _onSuccess(res, onComplete) {
4814
+ _doOnComplete(onComplete, 200, {}, res);
4815
+ }
4816
+ function _onError(message, onComplete) {
4817
+ _throwInternal(_diagLog, 2 , 26 , "Failed to send telemetry.", { message: message });
4818
+ _doOnComplete(onComplete, 400, {});
4819
+ }
4820
+ function _onNoPayloadUrl(onComplete) {
4821
+ _onError("No endpoint url is provided for the batch", onComplete);
4822
+ }
4823
+ function _getSenderInterface(transports, syncSupport) {
4824
+ var transportType = null;
4825
+ var sendPostFunc = null;
4826
+ var lp = 0;
4827
+ while (sendPostFunc == null && lp < transports[_DYN_LENGTH$1 ]) {
4828
+ transportType = transports[lp];
4829
+ if (!_disableXhr && transportType === 1 ) {
4830
+ if (useXDomainRequest()) {
4831
+ sendPostFunc = _xdrSender;
4832
+ }
4833
+ else if (isXhrSupported()) {
4834
+ sendPostFunc = _xhrSender;
4835
+ }
4836
+ }
4837
+ else if (transportType === 2 && isFetchSupported(syncSupport)) {
4838
+ sendPostFunc = _doFetchSender;
4839
+ }
4840
+ else if (transportType === 3 && isBeaconsSupported() && (syncSupport ? !_disableBeaconSync : !_disableBeacon)) {
4841
+ sendPostFunc = _beaconSender;
4842
+ }
4843
+ lp++;
4844
+ }
4845
+ if (sendPostFunc) {
4846
+ return {
4847
+ sendPOST: sendPostFunc
4848
+ };
4849
+ }
4850
+ return null;
4851
+ }
4852
+ function _doOnComplete(oncomplete, status, headers, response) {
4853
+ try {
4854
+ oncomplete && oncomplete(status, headers, response);
4855
+ }
4856
+ catch (e) {
4857
+ }
4858
+ }
4859
+ function _doBeaconSend(payload, oncomplete) {
4860
+ var nav = getNavigator();
4861
+ var url = payload[_DYN_URL_STRING ];
4862
+ if (!url) {
4863
+ _onNoPayloadUrl(oncomplete);
4864
+ return true;
4865
+ }
4866
+ var data = payload[_DYN_DATA$1 ];
4867
+ var plainTextBatch = new Blob([data], { type: "text/plain;charset=UTF-8" });
4868
+ var queued = nav.sendBeacon(url, plainTextBatch);
4869
+ return queued;
4870
+ }
4871
+ function _beaconSender(payload, oncomplete, sync) {
4872
+ var data = payload[_DYN_DATA$1 ];
4873
+ if (data) {
4874
+ if (!_doBeaconSend(payload, oncomplete)) {
4875
+ var onRetry = _onCompleteFuncs && _onCompleteFuncs.beaconOnRetry;
4876
+ if (onRetry && isFunction(onRetry)) {
4877
+ onRetry(payload, oncomplete, _doBeaconSend);
4878
+ }
4879
+ else {
4880
+ _fallbackInst && _fallbackInst.sendPOST(payload, oncomplete, true);
4881
+ _throwInternal(_diagLog, 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
4882
+ }
4883
+ }
4884
+ else {
4885
+ _onSuccess(null, oncomplete);
4886
+ }
4887
+ }
4888
+ return;
4889
+ }
4890
+ function _xhrSender(payload, oncomplete, sync) {
4891
+ var thePromise;
4892
+ var resolveFunc;
4893
+ var rejectFunc;
4894
+ var headers = payload.headers || {};
4895
+ if (!sync && _enableSendPromise) {
4896
+ thePromise = createPromise(function (resolve, reject) {
4897
+ resolveFunc = resolve;
4898
+ rejectFunc = reject;
4899
+ });
4900
+ }
4901
+ var xhr = new XMLHttpRequest();
4902
+ var endPointUrl = payload[_DYN_URL_STRING ];
4903
+ if (!endPointUrl) {
4904
+ _onNoPayloadUrl(oncomplete);
4905
+ resolveFunc && resolveFunc(false);
4906
+ return;
4907
+ }
4908
+ try {
4909
+ xhr[DisabledPropertyName] = true;
4910
+ }
4911
+ catch (e) {
4912
+ }
4913
+ xhr.open("POST", endPointUrl, !sync);
4914
+ xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
4915
+ if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
4916
+ xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
4917
+ }
4918
+ arrForEach(objKeys(headers), function (headerName) {
4919
+ xhr[_DYN_SET_REQUEST_HEADER ](headerName, headers[headerName]);
4920
+ });
4921
+ xhr.onreadystatechange = function () {
4922
+ var response = getResponseText(xhr);
4923
+ var onReadyFunc = _onCompleteFuncs && _onCompleteFuncs.xhrOnComplete;
4924
+ var onReadyFuncExist = onReadyFunc && isFunction(onReadyFunc);
4925
+ if (onReadyFuncExist) {
4926
+ onReadyFunc(xhr, oncomplete, payload);
4927
+ }
4928
+ if (xhr.readyState === 4) {
4929
+ if (!onReadyFuncExist) {
4930
+ _doOnComplete(oncomplete, xhr.status, {}, response);
4931
+ }
4932
+ resolveFunc && resolveFunc(true);
4933
+ }
4934
+ };
4935
+ xhr.onerror = function (event) {
4936
+ _doOnComplete(oncomplete, 400, {}, formatErrorMessageXhr(xhr));
4937
+ rejectFunc && rejectFunc(event);
4938
+ };
4939
+ xhr.ontimeout = function () {
4940
+ _doOnComplete(oncomplete, 500, {}, formatErrorMessageXhr(xhr));
4941
+ resolveFunc && resolveFunc(false);
4942
+ };
4943
+ xhr.send(payload[_DYN_DATA$1 ]);
4944
+ return thePromise;
4945
+ }
4946
+ function _doFetchSender(payload, oncomplete, sync) {
4947
+ var _a;
4948
+ var endPointUrl = payload[_DYN_URL_STRING ];
4949
+ var batch = payload[_DYN_DATA$1 ];
4950
+ var plainTextBatch = new Blob([batch], { type: "application/json" });
4951
+ var thePromise;
4952
+ var resolveFunc;
4953
+ var rejectFunc;
4954
+ var requestHeaders = new Headers();
4955
+ var batchLength = batch[_DYN_LENGTH$1 ];
4956
+ var ignoreResponse = false;
4957
+ var responseHandled = false;
4958
+ var headers = payload.headers || {};
4959
+ if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
4960
+ requestHeaders.append(RequestHeaders[6 ], RequestHeaders[7 ]);
4961
+ }
4962
+ arrForEach(objKeys(headers), function (headerName) {
4963
+ requestHeaders.append(headerName, headers[headerName]);
4964
+ });
4965
+ var init = (_a = {
4966
+ method: "POST",
4967
+ headers: requestHeaders,
4968
+ body: plainTextBatch
4969
+ },
4970
+ _a[DisabledPropertyName] = true
4971
+ ,
4972
+ _a);
4973
+ if (_sendCredentials && _isOneDs) {
4974
+ init.credentials = "include";
4975
+ }
4976
+ if (sync) {
4977
+ init.keepalive = true;
4978
+ ignoreResponse = true;
4979
+ _syncFetchPayload += batchLength;
4980
+ }
4981
+ var request = new Request(endPointUrl, init);
4982
+ try {
4983
+ request[DisabledPropertyName] = true;
4984
+ }
4985
+ catch (e) {
4986
+ }
4987
+ if (!sync && _enableSendPromise) {
4988
+ thePromise = createPromise(function (resolve, reject) {
4989
+ resolveFunc = resolve;
4990
+ rejectFunc = reject;
4991
+ });
4992
+ }
4993
+ if (!endPointUrl) {
4994
+ _onNoPayloadUrl(oncomplete);
4995
+ resolveFunc && resolveFunc(false);
4996
+ return;
4997
+ }
4998
+ try {
4999
+ doAwaitResponse(fetch(request), function (result) {
5000
+ if (sync) {
5001
+ _syncFetchPayload -= batchLength;
5002
+ batchLength = 0;
5003
+ }
5004
+ if (!responseHandled) {
5005
+ responseHandled = true;
5006
+ if (!result.rejected) {
5007
+ var response_1 = result.value;
5008
+ if (!response_1.ok) {
5009
+ _doOnComplete(oncomplete, 400, {}, response_1.statusText);
5010
+ resolveFunc && resolveFunc(false);
5011
+ }
5012
+ else {
5013
+ doAwaitResponse(response_1.text(), function (resp) {
5014
+ var status = response_1.status;
5015
+ var onCompleteFunc = _onCompleteFuncs.fetchOnComplete;
5016
+ if (onCompleteFunc && isFunction(onCompleteFunc)) {
5017
+ onCompleteFunc(response_1, oncomplete, resp.value || STR_EMPTY, payload);
5018
+ }
5019
+ else {
5020
+ _doOnComplete(oncomplete, status, {}, resp.value || STR_EMPTY);
5021
+ }
5022
+ resolveFunc && resolveFunc(true);
5023
+ });
5024
+ }
5025
+ }
5026
+ else {
5027
+ _doOnComplete(oncomplete, 400, {}, result[_DYN_REASON ] && result[_DYN_REASON ][_DYN_MESSAGE ]);
5028
+ rejectFunc && rejectFunc(result[_DYN_REASON ]);
5029
+ }
5030
+ }
5031
+ });
5032
+ }
5033
+ catch (e) {
5034
+ if (!responseHandled) {
5035
+ _doOnComplete(oncomplete, 400, {}, dumpObj(e));
5036
+ rejectFunc && rejectFunc(e);
5037
+ }
5038
+ }
5039
+ if (ignoreResponse && !responseHandled) {
5040
+ responseHandled = true;
5041
+ _doOnComplete(oncomplete, 200, {});
5042
+ resolveFunc && resolveFunc(true);
5043
+ }
5044
+ return thePromise;
5045
+ }
5046
+ function _xdrSender(payload, oncomplete, sync) {
5047
+ var _window = getWindow();
5048
+ var xdr = new XDomainRequest();
5049
+ var data = payload[_DYN_DATA$1 ];
5050
+ xdr.onload = function () {
5051
+ var response = getResponseText(xdr);
5052
+ var onloadFunc = _onCompleteFuncs && _onCompleteFuncs.xdrOnComplete;
5053
+ if (onloadFunc && isFunction(onloadFunc)) {
5054
+ onloadFunc(xdr, oncomplete, payload);
5055
+ }
5056
+ else {
5057
+ _doOnComplete(oncomplete, 200, {}, response);
5058
+ }
5059
+ };
5060
+ xdr.onerror = function () {
5061
+ _doOnComplete(oncomplete, 400, {}, formatErrorMessageXdr(xdr));
5062
+ };
5063
+ xdr.ontimeout = function () {
5064
+ _doOnComplete(oncomplete, 500, {});
5065
+ };
5066
+ xdr.onprogress = function () { };
5067
+ var hostingProtocol = _window && _window[_DYN_LOCATION ] && _window[_DYN_LOCATION ].protocol || "";
5068
+ var endpoint = payload[_DYN_URL_STRING ];
5069
+ if (!endpoint) {
5070
+ _onNoPayloadUrl(oncomplete);
5071
+ return;
5072
+ }
5073
+ if (endpoint.lastIndexOf(hostingProtocol, 0) !== 0) {
5074
+ var msg = "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.";
5075
+ _throwInternal(_diagLog, 2 , 40 , ". " + msg);
5076
+ _onError(msg, oncomplete);
5077
+ return;
5078
+ }
5079
+ var endpointUrl = endpoint.replace(/^(https?:)/, "");
5080
+ xdr.open("POST", endpointUrl);
5081
+ xdr.send(data);
5082
+ }
5083
+ function _initDefaults() {
5084
+ _syncFetchPayload = 0;
5085
+ _isInitialized = false;
5086
+ _enableSendPromise = false;
5087
+ _diagLog = null;
5088
+ _isOneDs = null;
5089
+ _onCompleteFuncs = null;
5090
+ _disableCredentials = null;
5091
+ _fallbackInst = null;
5092
+ _disableXhr = false;
5093
+ _disableBeacon = false;
5094
+ _disableBeaconSync = false;
5095
+ }
5096
+ });
5097
+ }
5098
+ SenderPostManager.__ieDyn=1;
5099
+ return SenderPostManager;
5100
+ }());
5101
+
4680
5102
  function _disableEvents(target, evtNamespace) {
4681
5103
  eventOff(target, null, null, evtNamespace);
4682
5104
  }
@@ -4815,43 +5237,42 @@ var _DYN_EVENTS_LIMIT_IN_MEM = "eventsLimitInMem";
4815
5237
  var _DYN_PUSH = "push";
4816
5238
  var _DYN_EMIT_LINE_DELIMITED_0 = "emitLineDelimitedJson";
4817
5239
  var _DYN_CLEAR = "clear";
4818
- var _DYN_BATCH_PAYLOADS = "batchPayloads";
4819
5240
  var _DYN_CREATE_NEW = "createNew";
4820
5241
  var _DYN_MARK_AS_SENT = "markAsSent";
4821
5242
  var _DYN_CLEAR_SENT = "clearSent";
4822
5243
  var _DYN_BUFFER_OVERRIDE = "bufferOverride";
4823
5244
  var _DYN__BUFFER__KEY = "BUFFER_KEY";
4824
5245
  var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
4825
- var _DYN_CONCAT = "concat";
4826
5246
  var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
4827
- var _DYN_SEND_POST = "sendPOST";
4828
5247
  var _DYN_TRIGGER_SEND = "triggerSend";
4829
5248
  var _DYN_DIAG_LOG = "diagLog";
5249
+ var _DYN_INITIALIZE = "initialize";
4830
5250
  var _DYN__SENDER = "_sender";
4831
5251
  var _DYN_CUSTOM_HEADERS = "customHeaders";
4832
5252
  var _DYN_MAX_BATCH_SIZE_IN_BY1 = "maxBatchSizeInBytes";
4833
5253
  var _DYN_ONUNLOAD_DISABLE_BEA2 = "onunloadDisableBeacon";
4834
5254
  var _DYN_IS_BEACON_API_DISABL3 = "isBeaconApiDisabled";
4835
5255
  var _DYN_ALWAYS_USE_XHR_OVERR4 = "alwaysUseXhrOverride";
5256
+ var _DYN_DISABLE_XHR = "disableXhr";
4836
5257
  var _DYN_ENABLE_SESSION_STORA5 = "enableSessionStorageBuffer";
4837
5258
  var _DYN__BUFFER = "_buffer";
4838
5259
  var _DYN_ONUNLOAD_DISABLE_FET6 = "onunloadDisableFetch";
4839
5260
  var _DYN_DISABLE_SEND_BEACON_7 = "disableSendBeaconSplit";
4840
5261
  var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
5262
+ var _DYN_ENABLE_SEND_PROMISE = "enableSendPromise";
5263
+ var _DYN_GET_XHR_INST = "getXhrInst";
4841
5264
  var _DYN_UNLOAD_TRANSPORTS = "unloadTransports";
4842
5265
  var _DYN_CONVERT_UNDEFINED = "convertUndefined";
4843
5266
  var _DYN_MAX_BATCH_INTERVAL = "maxBatchInterval";
4844
5267
  var _DYN_SERIALIZE = "serialize";
4845
- var _DYN__XHR_READY_STATE_CHA8 = "_xhrReadyStateChange";
4846
5268
  var _DYN__ON_ERROR = "_onError";
4847
5269
  var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
4848
5270
  var _DYN__ON_SUCCESS = "_onSuccess";
4849
5271
  var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
4850
5272
  var _DYN_ITEMS_RECEIVED = "itemsReceived";
5273
+ var _DYN_ORI_PAYLOAD = "oriPayload";
4851
5274
  var _DYN_BASE_TYPE = "baseType";
4852
5275
  var _DYN_SAMPLE_RATE = "sampleRate";
4853
- var _DYN_ORI_PAYLOAD = "oriPayload";
4854
- var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
4855
5276
  var _DYN_EVENTS_SEND_REQUEST = "eventsSendRequest";
4856
5277
  var _DYN_GET_SAMPLING_SCORE = "getSamplingScore";
4857
5278
  var _DYN_GET_HASH_CODE_SCORE = "getHashCodeScore";
@@ -4965,7 +5386,7 @@ function EnvelopeCreatorInit(logger, telemetryItem) {
4965
5386
  }
4966
5387
  }
4967
5388
  var EnvelopeCreator = {
4968
- Version: '3.1.1-nightly3.2403-01'
5389
+ Version: '3.1.1-nightly3.2403-02'
4969
5390
  };
4970
5391
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
4971
5392
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -5156,7 +5577,7 @@ var BaseSendBuffer = /** @class */ (function () {
5156
5577
  _self.getItems = function () {
5157
5578
  return _buffer.slice(0);
5158
5579
  };
5159
- _self[_DYN_BATCH_PAYLOADS ] = function (payload) {
5580
+ _self.batchPayloads = function (payload) {
5160
5581
  if (payload && payload[_DYN_LENGTH ] > 0) {
5161
5582
  var batch = config[_DYN_EMIT_LINE_DELIMITED_0 ] ?
5162
5583
  payload.join("\n") :
@@ -5206,7 +5627,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5206
5627
  dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {
5207
5628
  var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ]);
5208
5629
  var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5209
- var buffer = _self._set(bufferItems[_DYN_CONCAT ](notDeliveredItems));
5630
+ var buffer = _self._set(bufferItems.concat(notDeliveredItems));
5210
5631
  if (buffer[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
5211
5632
  buffer[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
5212
5633
  }
@@ -5233,7 +5654,7 @@ var SessionStorageSendBuffer = /** @class */ (function (_super) {
5233
5654
  _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], _self._set(_removePayloadsFromBuffer(payload, _self[_DYN__GET ]())));
5234
5655
  var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
5235
5656
  if (sentElements instanceof Array && payload instanceof Array) {
5236
- sentElements = sentElements[_DYN_CONCAT ](payload);
5657
+ sentElements = sentElements.concat(payload);
5237
5658
  if (sentElements[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
5238
5659
  _throwInternal(logger, 1 , 67 , "Sent buffer reached its maximum size: " + sentElements[_DYN_LENGTH ], true);
5239
5660
  sentElements[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
@@ -5466,7 +5887,7 @@ var HashCodeScoreGenerator = /** @class */ (function () {
5466
5887
  return 0;
5467
5888
  }
5468
5889
  while (input[_DYN_LENGTH ] < MIN_INPUT_LENGTH) {
5469
- input = input[_DYN_CONCAT ](input);
5890
+ input = input.concat(input);
5470
5891
  }
5471
5892
  var hash = 5381;
5472
5893
  for (var i = 0; i < input[_DYN_LENGTH ]; ++i) {
@@ -5546,18 +5967,7 @@ function _getResponseText(xhr) {
5546
5967
  return null;
5547
5968
  }
5548
5969
  function isOverrideFn(httpXHROverride) {
5549
- return httpXHROverride && httpXHROverride[_DYN_SEND_POST ];
5550
- }
5551
- function _prependTransports(theTransports, newTransports) {
5552
- if (newTransports) {
5553
- if (isNumber(newTransports)) {
5554
- theTransports = [newTransports][_DYN_CONCAT ](theTransports);
5555
- }
5556
- else if (isArray(newTransports)) {
5557
- theTransports = newTransports[_DYN_CONCAT ](theTransports);
5558
- }
5559
- }
5560
- return theTransports;
5970
+ return httpXHROverride && httpXHROverride.sendPOST;
5561
5971
  }
5562
5972
  var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
5563
5973
  endpointUrl: cfgDfValidate(isTruthy, DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH)
@@ -5570,7 +5980,7 @@ var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
5570
5980
  _a.isRetryDisabled = cfgDfBoolean(),
5571
5981
  _a[_DYN_IS_BEACON_API_DISABL3 ] = cfgDfBoolean(true),
5572
5982
  _a[_DYN_DISABLE_SEND_BEACON_7 ] = cfgDfBoolean(true),
5573
- _a.disableXhr = cfgDfBoolean(),
5983
+ _a[_DYN_DISABLE_XHR ] = cfgDfBoolean(),
5574
5984
  _a[_DYN_ONUNLOAD_DISABLE_FET6 ] = cfgDfBoolean(),
5575
5985
  _a[_DYN_ONUNLOAD_DISABLE_BEA2 ] = cfgDfBoolean(),
5576
5986
  _a[_DYN_INSTRUMENTATION_KEY ] = UNDEFINED_VALUE,
@@ -5635,6 +6045,7 @@ var Sender = /** @class */ (function (_super) {
5635
6045
  var _xhrSend;
5636
6046
  var _fallbackSend;
5637
6047
  var _disableBeaconSplit;
6048
+ var _sendPostMgr;
5638
6049
  dynamicProto(Sender, _this, function (_self, _base) {
5639
6050
  _initDefaults();
5640
6051
  _self.pause = function () {
@@ -5679,11 +6090,11 @@ var Sender = /** @class */ (function (_super) {
5679
6090
  _self.addHeader = function (name, value) {
5680
6091
  _headers[name] = value;
5681
6092
  };
5682
- _self.initialize = function (config, core, extensions, pluginChain) {
6093
+ _self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
5683
6094
  if (_self.isInitialized()) {
5684
6095
  _throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 28 , "Sender is already initialized");
5685
6096
  }
5686
- _base.initialize(config, core, extensions, pluginChain);
6097
+ _base[_DYN_INITIALIZE ](config, core, extensions, pluginChain);
5687
6098
  var identifier = _self.identifier;
5688
6099
  _serializer = new Serializer(core.logger);
5689
6100
  _consecutiveErrors = 0;
@@ -5718,7 +6129,7 @@ var Sender = /** @class */ (function (_super) {
5718
6129
  _beaconOnUnloadSupported = senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ] === false && isBeaconsSupported();
5719
6130
  _beaconNormalSupported = senderConfig[_DYN_IS_BEACON_API_DISABL3 ] === false && isBeaconsSupported();
5720
6131
  _alwaysUseCustomSend = senderConfig[_DYN_ALWAYS_USE_XHR_OVERR4 ];
5721
- _disableXhr = !!senderConfig.disableXhr;
6132
+ _disableXhr = !!senderConfig[_DYN_DISABLE_XHR ];
5722
6133
  var bufferOverride = senderConfig[_DYN_BUFFER_OVERRIDE ];
5723
6134
  var canUseSessionStorage = !!senderConfig[_DYN_ENABLE_SESSION_STORA5 ] &&
5724
6135
  (!!bufferOverride || utlCanUseSessionStorage());
@@ -5760,13 +6171,21 @@ var Sender = /** @class */ (function (_super) {
5760
6171
  else {
5761
6172
  _customHeaders = null;
5762
6173
  }
5763
- _enableSendPromise = senderConfig.enableSendPromise;
6174
+ _enableSendPromise = senderConfig[_DYN_ENABLE_SEND_PROMISE ];
6175
+ var sendPostConfig = _getSendPostMgrConfig();
6176
+ if (!_sendPostMgr) {
6177
+ _sendPostMgr = new SenderPostManager();
6178
+ _sendPostMgr[_DYN_INITIALIZE ](sendPostConfig, diagLog);
6179
+ }
6180
+ else {
6181
+ _sendPostMgr.SetConfig(sendPostConfig);
6182
+ }
5764
6183
  var customInterface = senderConfig.httpXHROverride;
5765
6184
  var httpInterface = null;
5766
6185
  var syncInterface = null;
5767
- var theTransports = _prependTransports([3 , 1 , 2 ], senderConfig.transports);
5768
- httpInterface = _getSenderInterface(theTransports, false);
5769
- var xhrInterface = { sendPOST: _xhrSender };
6186
+ var theTransports = prependTransports([3 , 1 , 2 ], senderConfig.transports);
6187
+ httpInterface = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ](theTransports, false);
6188
+ var xhrInterface = _sendPostMgr && _sendPostMgr.getFallbackInst();
5770
6189
  _xhrSend = function (payload, isAsync) {
5771
6190
  return _doSend(xhrInterface, payload, isAsync);
5772
6191
  };
@@ -5780,11 +6199,11 @@ var Sender = /** @class */ (function (_super) {
5780
6199
  if (_fetchKeepAlive) {
5781
6200
  _syncUnloadSender = _fetchKeepAliveSender;
5782
6201
  }
5783
- var syncTransports = _prependTransports([3 , 1 ], senderConfig[_DYN_UNLOAD_TRANSPORTS ]);
6202
+ var syncTransports = prependTransports([3 , 1 ], senderConfig[_DYN_UNLOAD_TRANSPORTS ]);
5784
6203
  if (!_fetchKeepAlive) {
5785
6204
  syncTransports = syncTransports.filter(function (transport) { return transport !== 2 ; });
5786
6205
  }
5787
- syncInterface = _getSenderInterface(syncTransports, true);
6206
+ syncInterface = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ](syncTransports, true);
5788
6207
  syncInterface = _alwaysUseCustomSend ? customInterface : (syncInterface || customInterface);
5789
6208
  if ((_alwaysUseCustomSend || senderConfig[_DYN_UNLOAD_TRANSPORTS ] || !_syncUnloadSender) && syncInterface) {
5790
6209
  _syncUnloadSender = function (payload, isAsync) {
@@ -5826,10 +6245,8 @@ var Sender = /** @class */ (function (_super) {
5826
6245
  _self.isCompletelyIdle = function () {
5827
6246
  return !_paused && _syncFetchPayload === 0 && _self._buffer[_DYN_COUNT ]() === 0;
5828
6247
  };
5829
- _self[_DYN__XHR_READY_STATE_CHA8 ] = function (xhr, payload, countOfItemsInPayload) {
5830
- if (xhr.readyState === 4) {
5831
- _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, _formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
5832
- }
6248
+ _self._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {
6249
+ return _xhrReadyStateChange(xhr, payload, countOfItemsInPayload);
5833
6250
  };
5834
6251
  _self[_DYN_TRIGGER_SEND ] = function (async, forcedSender, sendReason) {
5835
6252
  if (async === void 0) { async = true; }
@@ -5905,7 +6322,7 @@ var Sender = /** @class */ (function (_super) {
5905
6322
  _self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
5906
6323
  }
5907
6324
  if (failed[_DYN_LENGTH ] > 0) {
5908
- _self[_DYN__ON_ERROR ](failed, _formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
6325
+ _self[_DYN__ON_ERROR ](failed, formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
5909
6326
  }
5910
6327
  if (retry[_DYN_LENGTH ] > 0) {
5911
6328
  _resendPayload(retry);
@@ -5918,22 +6335,89 @@ var Sender = /** @class */ (function (_super) {
5918
6335
  _self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
5919
6336
  };
5920
6337
  _self._xdrOnLoad = function (xdr, payload) {
6338
+ return _xdrOnLoad(xdr, payload);
6339
+ };
6340
+ function _xdrOnLoad(xdr, payload) {
5921
6341
  var responseText = _getResponseText(xdr);
5922
6342
  if (xdr && (responseText + "" === "200" || responseText === "")) {
5923
6343
  _consecutiveErrors = 0;
5924
6344
  _self[_DYN__ON_SUCCESS ](payload, 0);
5925
6345
  }
5926
6346
  else {
5927
- var results = _parseResponse(responseText);
6347
+ var results = parseResponse(responseText);
5928
6348
  if (results && results.itemsReceived && results.itemsReceived > results[_DYN_ITEMS_ACCEPTED ]
5929
6349
  && !_isRetryDisabled) {
5930
6350
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, results);
5931
6351
  }
5932
6352
  else {
5933
- _self[_DYN__ON_ERROR ](payload, _formatErrorMessageXdr(xdr));
6353
+ _self[_DYN__ON_ERROR ](payload, formatErrorMessageXdr(xdr));
5934
6354
  }
5935
6355
  }
5936
- };
6356
+ }
6357
+ function _getSendPostMgrConfig() {
6358
+ var _a;
6359
+ try {
6360
+ var onCompleteFuncs = {
6361
+ xdrOnComplete: function (xdr, oncomplete, payload) {
6362
+ var data = _getPayloadArr(payload);
6363
+ if (!data) {
6364
+ return;
6365
+ }
6366
+ return _xdrOnLoad(xdr, data);
6367
+ },
6368
+ fetchOnComplete: function (response, onComplete, resValue, payload) {
6369
+ var data = _getPayloadArr(payload);
6370
+ if (!data) {
6371
+ return;
6372
+ }
6373
+ return _checkResponsStatus(response.status, data, response.url, data[_DYN_LENGTH ], response.statusText, resValue || "");
6374
+ },
6375
+ xhrOnComplete: function (request, oncomplete, payload) {
6376
+ var data = _getPayloadArr(payload);
6377
+ if (!data) {
6378
+ return;
6379
+ }
6380
+ return _xhrReadyStateChange(request, data, data[_DYN_LENGTH ]);
6381
+ },
6382
+ beaconOnRetry: function (data, onComplete, canSend) {
6383
+ return _onBeaconRetry(data, onComplete, canSend);
6384
+ }
6385
+ };
6386
+ var config = (_a = {},
6387
+ _a[_DYN_ENABLE_SEND_PROMISE ] = _enableSendPromise,
6388
+ _a.isOneDs = false,
6389
+ _a.disableCredentials = false,
6390
+ _a[_DYN_DISABLE_XHR ] = _disableXhr,
6391
+ _a.disableBeacon = !_beaconNormalSupported,
6392
+ _a.disableBeaconSync = !_beaconOnUnloadSupported,
6393
+ _a.senderOnCompleteCallBack = onCompleteFuncs,
6394
+ _a);
6395
+ return config;
6396
+ }
6397
+ catch (e) {
6398
+ }
6399
+ return null;
6400
+ }
6401
+ function _xhrReadyStateChange(xhr, payload, countOfItemsInPayload) {
6402
+ if (xhr.readyState === 4) {
6403
+ _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
6404
+ }
6405
+ }
6406
+ function _getPayloadArr(payload) {
6407
+ try {
6408
+ if (payload) {
6409
+ var internalPayload = payload;
6410
+ var arr = internalPayload[_DYN_ORI_PAYLOAD ];
6411
+ if (arr && arr[_DYN_LENGTH ]) {
6412
+ return arr;
6413
+ }
6414
+ return null;
6415
+ }
6416
+ }
6417
+ catch (e) {
6418
+ }
6419
+ return null;
6420
+ }
5937
6421
  function _validate(telemetryItem, diagLogger) {
5938
6422
  if (_disableTelemetry) {
5939
6423
  return false;
@@ -6029,36 +6513,6 @@ var Sender = /** @class */ (function (_super) {
6029
6513
  function _isSampledIn(envelope) {
6030
6514
  return _self._sample.isSampledIn(envelope);
6031
6515
  }
6032
- function _getSenderInterface(transports, syncSupport) {
6033
- var _a;
6034
- var transportType = null;
6035
- var sendPostFunc = null;
6036
- var lp = 0;
6037
- while (sendPostFunc == null && lp < transports[_DYN_LENGTH ]) {
6038
- transportType = transports[lp];
6039
- if (!_disableXhr && transportType === 1 ) {
6040
- if (useXDomainRequest()) {
6041
- sendPostFunc = _xdrSender;
6042
- }
6043
- else if (isXhrSupported()) {
6044
- sendPostFunc = _xhrSender;
6045
- }
6046
- }
6047
- else if (transportType === 2 && isFetchSupported(syncSupport)) {
6048
- sendPostFunc = _fetchSender;
6049
- }
6050
- else if (transportType === 3 && (syncSupport ? _beaconOnUnloadSupported : _beaconNormalSupported)) {
6051
- sendPostFunc = _beaconSender;
6052
- }
6053
- lp++;
6054
- }
6055
- if (sendPostFunc) {
6056
- return _a = {},
6057
- _a[_DYN_SEND_POST ] = sendPostFunc,
6058
- _a;
6059
- }
6060
- return null;
6061
- }
6062
6516
  function _getOnComplete(payload, status, headers, response) {
6063
6517
  if (status === 200 && payload) {
6064
6518
  _self._onSuccess(payload, payload[_DYN_LENGTH ]);
@@ -6073,7 +6527,7 @@ var Sender = /** @class */ (function (_super) {
6073
6527
  return _getOnComplete(payload, status, headers, response);
6074
6528
  };
6075
6529
  var payloadData = _getPayload(payload);
6076
- var sendPostFunc = sendInterface && sendInterface[_DYN_SEND_POST ];
6530
+ var sendPostFunc = sendInterface && sendInterface.sendPOST;
6077
6531
  if (sendPostFunc && payloadData) {
6078
6532
  if (markAsSent) {
6079
6533
  _self._buffer[_DYN_MARK_AS_SENT ](payload);
@@ -6085,7 +6539,7 @@ var Sender = /** @class */ (function (_super) {
6085
6539
  function _getPayload(payload) {
6086
6540
  var _a;
6087
6541
  if (isArray(payload) && payload[_DYN_LENGTH ] > 0) {
6088
- var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
6542
+ var batch = _self[_DYN__BUFFER ].batchPayloads(payload);
6089
6543
  var payloadData = (_a = {},
6090
6544
  _a[_DYN_DATA ] = batch,
6091
6545
  _a.urlString = _endpointUrl,
@@ -6098,9 +6552,6 @@ var Sender = /** @class */ (function (_super) {
6098
6552
  }
6099
6553
  return null;
6100
6554
  }
6101
- function _fetchSender(payload, oncomplete, sync) {
6102
- return _doFetchSender(payload, oncomplete, false);
6103
- }
6104
6555
  function _checkMaxSize(incomingPayload) {
6105
6556
  var incomingSize = incomingPayload ? incomingPayload[_DYN_LENGTH ] : 0;
6106
6557
  if ((_self[_DYN__BUFFER ].size() + incomingSize) > _maxBatchSizeInBytes) {
@@ -6114,7 +6565,7 @@ var Sender = /** @class */ (function (_super) {
6114
6565
  function _checkResponsStatus(status, payload, responseUrl, countOfItemsInPayload, errorMessage, res) {
6115
6566
  var response = null;
6116
6567
  if (!_self._appId) {
6117
- response = _parseResponse(res);
6568
+ response = parseResponse(res);
6118
6569
  if (response && response.appId) {
6119
6570
  _self._appId = response.appId;
6120
6571
  }
@@ -6146,7 +6597,7 @@ var Sender = /** @class */ (function (_super) {
6146
6597
  _checkAndUpdateEndPointUrl(responseUrl);
6147
6598
  if (status === 206) {
6148
6599
  if (!response) {
6149
- response = _parseResponse(res);
6600
+ response = parseResponse(res);
6150
6601
  }
6151
6602
  if (response && !_isRetryDisabled) {
6152
6603
  _self[_DYN__ON_PARTIAL_SUCCESS ](payload, response);
@@ -6174,223 +6625,61 @@ var Sender = /** @class */ (function (_super) {
6174
6625
  }
6175
6626
  return false;
6176
6627
  }
6177
- function _doOnComplete(oncomplete, status, headers, response) {
6178
- try {
6179
- oncomplete(status, headers, response);
6180
- }
6181
- catch (e) {
6182
- }
6183
- }
6184
6628
  function _doUnloadSend(payload, isAsync) {
6185
6629
  if (_syncUnloadSender) {
6186
6630
  _syncUnloadSender(payload, false);
6187
6631
  }
6188
6632
  else {
6189
- var payloadData = _getPayload(payload);
6190
- _self._buffer[_DYN_MARK_AS_SENT ](payload);
6191
- _beaconSender(payloadData);
6633
+ var beaconInst = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ]([3 ], true);
6634
+ return _doSend(beaconInst, payload, isAsync);
6192
6635
  }
6193
6636
  }
6194
- function _doBeaconSend(payload, oncomplete) {
6195
- var nav = getNavigator();
6196
- var url = _endpointUrl;
6197
- var buffer = _self[_DYN__BUFFER ];
6198
- var batch = buffer[_DYN_BATCH_PAYLOADS ](payload);
6199
- var plainTextBatch = new Blob([batch], { type: "text/plain;charset=UTF-8" });
6200
- var queued = nav.sendBeacon(url, plainTextBatch);
6201
- if (queued) {
6202
- _self._onSuccess(payload, payload[_DYN_LENGTH ]);
6203
- }
6204
- return queued;
6205
- }
6206
- function _beaconSender(payload, oncomplete, sync) {
6637
+ function _onBeaconRetry(payload, onComplete, canSend) {
6207
6638
  var internalPayload = payload;
6208
6639
  var data = internalPayload && internalPayload[_DYN_ORI_PAYLOAD ];
6209
- if (isArray(data) && data[_DYN_LENGTH ] > 0) {
6210
- if (!_doBeaconSend(data)) {
6211
- if (!_disableBeaconSplit) {
6212
- var droppedPayload = [];
6213
- for (var lp = 0; lp < data[_DYN_LENGTH ]; lp++) {
6214
- var thePayload = data[lp];
6215
- if (!_doBeaconSend([thePayload])) {
6216
- droppedPayload[_DYN_PUSH ](thePayload);
6217
- }
6218
- }
6219
- if (droppedPayload[_DYN_LENGTH ] > 0) {
6220
- _fallbackSend && _fallbackSend(droppedPayload, true);
6221
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
6222
- }
6640
+ if (!_disableBeaconSplit) {
6641
+ var droppedPayload = [];
6642
+ for (var lp = 0; lp < data[_DYN_LENGTH ]; lp++) {
6643
+ var thePayload = data[lp];
6644
+ var arr = [thePayload];
6645
+ var item = _getPayload(arr);
6646
+ if (!canSend(item, onComplete)) {
6647
+ droppedPayload[_DYN_PUSH ](thePayload);
6223
6648
  }
6224
6649
  else {
6225
- _fallbackSend && _fallbackSend(data, true);
6226
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
6650
+ _self._onSuccess(arr, arr[_DYN_LENGTH ]);
6227
6651
  }
6228
6652
  }
6229
- }
6230
- }
6231
- function _xhrSender(payload, oncomplete, sync) {
6232
- var internalPayload = payload;
6233
- var thePromise;
6234
- var resolveFunc;
6235
- var rejectFunc;
6236
- var xhr = new XMLHttpRequest();
6237
- var endPointUrl = _endpointUrl;
6238
- try {
6239
- xhr[DisabledPropertyName] = true;
6240
- }
6241
- catch (e) {
6242
- }
6243
- xhr.open("POST", endPointUrl, !sync);
6244
- xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
6245
- if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
6246
- xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
6247
- }
6248
- arrForEach(objKeys(_headers), function (headerName) {
6249
- xhr[_DYN_SET_REQUEST_HEADER ](headerName, _headers[headerName]);
6250
- });
6251
- xhr.onreadystatechange = function () {
6252
- var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
6253
- _self._xhrReadyStateChange(xhr, oriPayload, oriPayload[_DYN_LENGTH ]);
6254
- if (xhr.readyState === 4) {
6255
- resolveFunc && resolveFunc(true);
6653
+ if (droppedPayload[_DYN_LENGTH ] > 0) {
6654
+ _fallbackSend && _fallbackSend(droppedPayload, true);
6655
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
6256
6656
  }
6257
- };
6258
- xhr.onerror = function (event) {
6259
- _doOnComplete(oncomplete, 400, {}, _formatErrorMessageXhr(xhr));
6260
- rejectFunc && rejectFunc(event);
6261
- };
6262
- if (!sync && _enableSendPromise) {
6263
- thePromise = createPromise(function (resolve, reject) {
6264
- resolveFunc = resolve;
6265
- rejectFunc = reject;
6266
- });
6267
6657
  }
6268
- xhr.send(payload[_DYN_DATA ]);
6269
- return thePromise;
6658
+ else {
6659
+ _fallbackSend && _fallbackSend(data, true);
6660
+ _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
6661
+ }
6270
6662
  }
6271
6663
  function _fetchKeepAliveSender(payload, isAsync) {
6272
- var onComplete = function (status, headers, response) {
6273
- return _getOnComplete(payload, status, headers, response);
6274
- };
6664
+ var transport = null;
6275
6665
  if (isArray(payload)) {
6276
6666
  var payloadSize = payload[_DYN_LENGTH ];
6277
6667
  for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
6278
6668
  payloadSize += payload[lp][_DYN_LENGTH ];
6279
6669
  }
6280
- var payloadData = _getPayload(payload);
6281
- _self._buffer[_DYN_MARK_AS_SENT ](payload);
6282
- if ((_syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
6283
- _doFetchSender(payloadData, onComplete, true);
6670
+ var syncFetchPayload = _sendPostMgr.getSyncFetchPayload();
6671
+ if ((syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
6672
+ transport = 2 ;
6284
6673
  }
6285
6674
  else if (isBeaconsSupported()) {
6286
- _beaconSender(payloadData);
6675
+ transport = 3 ;
6287
6676
  }
6288
6677
  else {
6289
- _fallbackSend && _fallbackSend(payload, true);
6678
+ transport = 1 ;
6290
6679
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with xhrSender.");
6291
6680
  }
6292
- }
6293
- }
6294
- function _doFetchSender(payload, oncomplete, sync) {
6295
- var _a;
6296
- var endPointUrl = _endpointUrl;
6297
- var internalPayload = payload;
6298
- var batch = internalPayload[_DYN_DATA ];
6299
- var plainTextBatch = new Blob([batch], { type: "application/json" });
6300
- var thePromise;
6301
- var resolveFunc;
6302
- var rejectFunc;
6303
- var requestHeaders = new Headers();
6304
- var batchLength = batch[_DYN_LENGTH ];
6305
- var ignoreResponse = false;
6306
- var responseHandled = false;
6307
- if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
6308
- requestHeaders.append(RequestHeaders[6 ], RequestHeaders[7 ]);
6309
- }
6310
- arrForEach(objKeys(_headers), function (headerName) {
6311
- requestHeaders.append(headerName, _headers[headerName]);
6312
- });
6313
- var init = (_a = {
6314
- method: "POST",
6315
- headers: requestHeaders,
6316
- body: plainTextBatch
6317
- },
6318
- _a[DisabledPropertyName] = true
6319
- ,
6320
- _a);
6321
- if (sync) {
6322
- init.keepalive = true;
6323
- ignoreResponse = true;
6324
- _syncFetchPayload += batchLength;
6325
- }
6326
- var request = new Request(endPointUrl, init);
6327
- try {
6328
- request[DisabledPropertyName] = true;
6329
- }
6330
- catch (e) {
6331
- }
6332
- if (!sync && _enableSendPromise) {
6333
- thePromise = createPromise(function (resolve, reject) {
6334
- resolveFunc = resolve;
6335
- rejectFunc = reject;
6336
- });
6337
- }
6338
- try {
6339
- doAwaitResponse(fetch(request), function (result) {
6340
- if (sync) {
6341
- _syncFetchPayload -= batchLength;
6342
- batchLength = 0;
6343
- }
6344
- if (!responseHandled) {
6345
- responseHandled = true;
6346
- if (!result.rejected) {
6347
- var response_1 = result.value;
6348
- if (!response_1.ok) {
6349
- _doOnComplete(oncomplete, 400, {}, response_1.statusText);
6350
- resolveFunc && resolveFunc(false);
6351
- }
6352
- else {
6353
- doAwaitResponse(response_1.text(), function (resp) {
6354
- var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
6355
- _checkResponsStatus(response_1.status, oriPayload, response_1.url, oriPayload[_DYN_LENGTH ], response_1.statusText, resp.value || "");
6356
- resolveFunc && resolveFunc(true);
6357
- });
6358
- }
6359
- }
6360
- else {
6361
- _doOnComplete(oncomplete, 400, {}, result.reason && result.reason.message);
6362
- rejectFunc && rejectFunc(result.reason);
6363
- }
6364
- }
6365
- });
6366
- }
6367
- catch (e) {
6368
- if (!responseHandled) {
6369
- _doOnComplete(oncomplete, 400, {}, dumpObj(e));
6370
- rejectFunc && rejectFunc(e);
6371
- }
6372
- }
6373
- if (ignoreResponse && !responseHandled) {
6374
- responseHandled = true;
6375
- _doOnComplete(oncomplete, 200, {});
6376
- resolveFunc && resolveFunc(true);
6377
- }
6378
- return thePromise;
6379
- }
6380
- function _parseResponse(response) {
6381
- try {
6382
- if (response && response !== "") {
6383
- var result = getJSON().parse(response);
6384
- if (result && result.itemsReceived && result.itemsReceived >= result[_DYN_ITEMS_ACCEPTED ] &&
6385
- result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH ]) {
6386
- return result;
6387
- }
6388
- }
6389
- }
6390
- catch (e) {
6391
- _throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
6392
- response: response
6393
- });
6681
+ var inst = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ]([transport], true);
6682
+ return _doSend(inst, payload, isAsync);
6394
6683
  }
6395
6684
  return null;
6396
6685
  }
@@ -6449,41 +6738,6 @@ var Sender = /** @class */ (function (_super) {
6449
6738
  || statusCode === 503
6450
6739
  || statusCode === 504;
6451
6740
  }
6452
- function _formatErrorMessageXhr(xhr, message) {
6453
- if (xhr) {
6454
- return "XMLHttpRequest,Status:" + xhr.status + ",Response:" + _getResponseText(xhr) || xhr.response || "";
6455
- }
6456
- return message;
6457
- }
6458
- function _xdrSender(payload, oncomplete, sync) {
6459
- var internalPayload = payload;
6460
- var _window = getWindow();
6461
- var xdr = new XDomainRequest();
6462
- var data = internalPayload[_DYN_DATA ];
6463
- xdr.onload = function () {
6464
- var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
6465
- _self._xdrOnLoad(xdr, oriPayload);
6466
- };
6467
- xdr.onerror = function () {
6468
- _doOnComplete(oncomplete, 400, {}, _formatErrorMessageXdr(xdr));
6469
- };
6470
- var hostingProtocol = _window && _window.location && _window.location.protocol || "";
6471
- if (_endpointUrl.lastIndexOf(hostingProtocol, 0) !== 0) {
6472
- _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " +
6473
- "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.");
6474
- _self._buffer[_DYN_CLEAR ]();
6475
- return;
6476
- }
6477
- var endpointUrl = _endpointUrl.replace(/^(https?:)/, "");
6478
- xdr.open("POST", endpointUrl);
6479
- xdr.send(data);
6480
- }
6481
- function _formatErrorMessageXdr(xdr, message) {
6482
- if (xdr) {
6483
- return "XDomainRequest,Response:" + _getResponseText(xdr) || "";
6484
- }
6485
- return message;
6486
- }
6487
6741
  function _getNotifyMgr() {
6488
6742
  var func = "getNotifyMgr";
6489
6743
  if (_self.core[func]) {
@@ -6544,6 +6798,7 @@ var Sender = /** @class */ (function (_super) {
6544
6798
  _disableBeaconSplit = false;
6545
6799
  _xhrSend = null;
6546
6800
  _fallbackSend = null;
6801
+ _sendPostMgr = null;
6547
6802
  objDefine(_self, "_senderConfig", {
6548
6803
  g: function () {
6549
6804
  return objExtend({}, defaultAppInsightsChannelConfig);
@@ -6568,4 +6823,4 @@ var Sender = /** @class */ (function (_super) {
6568
6823
  }(BaseTelemetryPlugin));
6569
6824
 
6570
6825
  exports.Sender = Sender;
6571
- //# sourceMappingURL=applicationinsights-channel-js.3.1.1-nightly3.2403-01.cjs.js.map
6826
+ //# sourceMappingURL=applicationinsights-channel-js.3.1.1-nightly3.2403-02.cjs.js.map