@microsoft/applicationinsights-channel-js 3.0.4-nightly3.2309-08 → 3.0.4-nightly3.2309-10

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 (51) hide show
  1. package/browser/es5/{applicationinsights-channel-js.3.0.4-nightly3.2309-08.js → applicationinsights-channel-js.3.0.4-nightly3.2309-10.cjs.js} +187 -115
  2. package/browser/es5/{applicationinsights-channel-js.3.0.4-nightly3.2309-08.cjs.js.map → applicationinsights-channel-js.3.0.4-nightly3.2309-10.cjs.js.map} +1 -1
  3. package/browser/es5/{applicationinsights-channel-js.3.0.4-nightly3.2309-08.cjs.min.js → applicationinsights-channel-js.3.0.4-nightly3.2309-10.cjs.min.js} +3 -3
  4. package/browser/es5/{applicationinsights-channel-js.3.0.4-nightly3.2309-08.cjs.min.js.map → applicationinsights-channel-js.3.0.4-nightly3.2309-10.cjs.min.js.map} +1 -1
  5. package/browser/es5/{applicationinsights-channel-js.3.0.4-nightly3.2309-08.gbl.js → applicationinsights-channel-js.3.0.4-nightly3.2309-10.gbl.js} +189 -90
  6. package/browser/es5/{applicationinsights-channel-js.3.0.4-nightly3.2309-08.gbl.js.map → applicationinsights-channel-js.3.0.4-nightly3.2309-10.gbl.js.map} +1 -1
  7. package/browser/es5/applicationinsights-channel-js.3.0.4-nightly3.2309-10.gbl.min.js +6 -0
  8. package/browser/es5/{applicationinsights-channel-js.3.0.4-nightly3.2309-08.gbl.min.js.map → applicationinsights-channel-js.3.0.4-nightly3.2309-10.gbl.min.js.map} +1 -1
  9. package/browser/es5/applicationinsights-channel-js.3.0.4-nightly3.2309-10.integrity.json +66 -0
  10. package/browser/es5/{applicationinsights-channel-js.3.0.4-nightly3.2309-08.cjs.js → applicationinsights-channel-js.3.0.4-nightly3.2309-10.js} +214 -88
  11. package/browser/es5/{applicationinsights-channel-js.3.0.4-nightly3.2309-08.js.map → applicationinsights-channel-js.3.0.4-nightly3.2309-10.js.map} +1 -1
  12. package/browser/es5/applicationinsights-channel-js.3.0.4-nightly3.2309-10.min.js +6 -0
  13. package/browser/es5/{applicationinsights-channel-js.3.0.4-nightly3.2309-08.min.js.map → applicationinsights-channel-js.3.0.4-nightly3.2309-10.min.js.map} +1 -1
  14. package/browser/es5/applicationinsights-channel-js.3.cjs.js +186 -87
  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 +188 -89
  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 +188 -89
  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 +186 -87
  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/Offline.js +1 -1
  36. package/dist-es5/SendBuffer.js +1 -1
  37. package/dist-es5/Sender.js +198 -98
  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 +1 -1
  42. package/dist-es5/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.js +1 -1
  43. package/dist-es5/__DynamicConstants.js +14 -12
  44. package/dist-es5/__DynamicConstants.js.map +1 -1
  45. package/dist-es5/applicationinsights-channel-js.js +1 -1
  46. package/package.json +3 -3
  47. package/types/applicationinsights-channel-js.d.ts +22 -1
  48. package/types/applicationinsights-channel-js.namespaced.d.ts +22 -1
  49. package/browser/es5/applicationinsights-channel-js.3.0.4-nightly3.2309-08.gbl.min.js +0 -6
  50. package/browser/es5/applicationinsights-channel-js.3.0.4-nightly3.2309-08.integrity.json +0 -66
  51. package/browser/es5/applicationinsights-channel-js.3.0.4-nightly3.2309-08.min.js +0 -6
@@ -1,32 +1,7 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Channel, 3.0.4-nightly3.2309-08
2
+ * Application Insights JavaScript SDK - Channel, 3.0.4-nightly3.2309-10
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
- (function (global, factory) {
6
- var undef = "undefined";
7
- typeof exports === "object" && typeof module !== undef ? factory(exports) :
8
- typeof define === "function" && define.amd ? define(["exports"], factory) :
9
- (function(global){
10
- var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_channel_js_3_0_4_nightly3_2309_08", msMod="__ms$mod__";
11
- var mods={}, modDetail=mods[modName]={}, ver="3.0.4-nightly3.2309-08";
12
- var baseNs=global, nsKey="Microsoft", baseNs=baseNs[nsKey]=(baseNs[nsKey]||{});
13
- // Versioned namespace "Microsoft.ApplicationInsights3"
14
- var exportNs=baseNs, nsKey="ApplicationInsights3", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
15
- // Global namespace "Microsoft.ApplicationInsights"
16
- var destNs=baseNs, nsKey="ApplicationInsights", destNs=destNs[nsKey]=(destNs[nsKey]||{});
17
- var expNsDetail=(exportNs[msMod]=(exportNs[msMod] || {})), expNameVer=(expNsDetail["v"]=(expNsDetail["v"] || []));
18
- var destNsDetail=(destNs[msMod]=(destNs[msMod] || {})), destNameVer=(destNsDetail["v"]=(destNsDetail["v"] || []));
19
- (destNsDetail["o"]=(destNsDetail["o"] || [])).push(mods);
20
- factory(theExports);
21
- for(var key in theExports) {
22
- // Always set the imported value into the "export" versioned namespace (last-write wins)
23
- nm="x", exportNs[key]=theExports[key], expNameVer[key]=ver;
24
- // Copy over any named element that is not already present (first-write wins)
25
- typeof destNs[key]===undef ? (nm="n", destNs[key]=theExports[key]) && (destNameVer[key]=ver) : !destNameVer[key] && (destNameVer[key]="---");
26
- (modDetail[nm] = (modDetail[nm] || [])).push(key);
27
- }
28
- })(typeof globalThis !== undef ? globalThis : global || self);
29
- })(this, (function (exports) {
30
5
  'use strict';
31
6
 
32
7
 
@@ -1787,7 +1762,7 @@ function newId(maxLength) {
1787
1762
  return result;
1788
1763
  }
1789
1764
 
1790
- var version = '3.0.4-nightly3.2309-08';
1765
+ var version = '3.0.4-nightly3.2309-10';
1791
1766
  var instanceName = "." + newId(6);
1792
1767
  var _dataUid = 0;
1793
1768
  function _canAcceptData(target) {
@@ -4685,6 +4660,7 @@ var _DYN_BUFFER_OVERRIDE = "bufferOverride";
4685
4660
  var _DYN__BUFFER__KEY = "BUFFER_KEY";
4686
4661
  var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
4687
4662
  var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
4663
+ var _DYN_SEND_POST = "sendPOST";
4688
4664
  var _DYN_TRIGGER_SEND = "triggerSend";
4689
4665
  var _DYN_DIAG_LOG = "diagLog";
4690
4666
  var _DYN__SENDER = "_sender";
@@ -4692,21 +4668,22 @@ var _DYN_CUSTOM_HEADERS = "customHeaders";
4692
4668
  var _DYN_MAX_BATCH_SIZE_IN_BY1 = "maxBatchSizeInBytes";
4693
4669
  var _DYN_ONUNLOAD_DISABLE_BEA2 = "onunloadDisableBeacon";
4694
4670
  var _DYN_IS_BEACON_API_DISABL3 = "isBeaconApiDisabled";
4695
- var _DYN_ENABLE_SESSION_STORA4 = "enableSessionStorageBuffer";
4671
+ var _DYN_ALWAYS_USE_XHR_OVERR4 = "alwaysUseXhrOverride";
4672
+ var _DYN_ENABLE_SESSION_STORA5 = "enableSessionStorageBuffer";
4696
4673
  var _DYN__BUFFER = "_buffer";
4674
+ var _DYN_ONUNLOAD_DISABLE_FET6 = "onunloadDisableFetch";
4697
4675
  var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
4698
- var _DYN_DISABLE_XHR = "disableXhr";
4699
- var _DYN_ONUNLOAD_DISABLE_FET5 = "onunloadDisableFetch";
4700
4676
  var _DYN_CONVERT_UNDEFINED = "convertUndefined";
4701
4677
  var _DYN_MAX_BATCH_INTERVAL = "maxBatchInterval";
4702
4678
  var _DYN_BASE_TYPE = "baseType";
4703
4679
  var _DYN_SAMPLE_RATE = "sampleRate";
4704
- var _DYN__XHR_READY_STATE_CHA6 = "_xhrReadyStateChange";
4680
+ var _DYN__XHR_READY_STATE_CHA7 = "_xhrReadyStateChange";
4705
4681
  var _DYN__ON_ERROR = "_onError";
4706
4682
  var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
4707
4683
  var _DYN__ON_SUCCESS = "_onSuccess";
4708
4684
  var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
4709
4685
  var _DYN_ITEMS_RECEIVED = "itemsReceived";
4686
+ var _DYN_ORI_PAYLOAD = "oriPayload";
4710
4687
  var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
4711
4688
  var _DYN_EVENTS_SEND_REQUEST = "eventsSendRequest";
4712
4689
  var _DYN_GET_SAMPLING_SCORE = "getSamplingScore";
@@ -4821,7 +4798,7 @@ function EnvelopeCreatorInit(logger, telemetryItem) {
4821
4798
  }
4822
4799
  }
4823
4800
  var EnvelopeCreator = {
4824
- Version: '3.0.4-nightly3.2309-08'
4801
+ Version: '3.0.4-nightly3.2309-10'
4825
4802
  };
4826
4803
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
4827
4804
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -5482,6 +5459,9 @@ function _getResponseText(xhr) {
5482
5459
  }
5483
5460
  return null;
5484
5461
  }
5462
+ function isOverrideFn(httpXHROverride) {
5463
+ return httpXHROverride && httpXHROverride[_DYN_SEND_POST ];
5464
+ }
5485
5465
  var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
5486
5466
  endpointUrl: cfgDfValidate(isTruthy, DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH)
5487
5467
  },
@@ -5489,11 +5469,11 @@ var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
5489
5469
  _a[_DYN_MAX_BATCH_INTERVAL ] = 15000,
5490
5470
  _a[_DYN_MAX_BATCH_SIZE_IN_BY1 ] = 102400,
5491
5471
  _a.disableTelemetry = cfgDfBoolean(),
5492
- _a[_DYN_ENABLE_SESSION_STORA4 ] = cfgDfBoolean(true),
5472
+ _a[_DYN_ENABLE_SESSION_STORA5 ] = cfgDfBoolean(true),
5493
5473
  _a.isRetryDisabled = cfgDfBoolean(),
5494
5474
  _a[_DYN_IS_BEACON_API_DISABL3 ] = cfgDfBoolean(true),
5495
- _a[_DYN_DISABLE_XHR ] = cfgDfBoolean(),
5496
- _a[_DYN_ONUNLOAD_DISABLE_FET5 ] = cfgDfBoolean(),
5475
+ _a.disableXhr = cfgDfBoolean(),
5476
+ _a[_DYN_ONUNLOAD_DISABLE_FET6 ] = cfgDfBoolean(),
5497
5477
  _a[_DYN_ONUNLOAD_DISABLE_BEA2 ] = cfgDfBoolean(),
5498
5478
  _a[_DYN_INSTRUMENTATION_KEY ] = UNDEFINED_VALUE,
5499
5479
  _a.namePrefix = UNDEFINED_VALUE,
@@ -5502,6 +5482,8 @@ var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
5502
5482
  _a[_DYN_CONVERT_UNDEFINED ] = UNDEFINED_VALUE,
5503
5483
  _a[_DYN_EVENTS_LIMIT_IN_MEM ] = 10000,
5504
5484
  _a[_DYN_BUFFER_OVERRIDE ] = false,
5485
+ _a.httpXHROverride = { isVal: isOverrideFn, v: UNDEFINED_VALUE },
5486
+ _a[_DYN_ALWAYS_USE_XHR_OVERR4 ] = cfgDfBoolean(),
5505
5487
  _a));
5506
5488
  function _chkSampling(value) {
5507
5489
  return !isNaN(value) && value > 0 && value <= 100;
@@ -5529,7 +5511,6 @@ var Sender = /** @class */ (function (_super) {
5529
5511
  var _stamp_specific_redirects;
5530
5512
  var _headers;
5531
5513
  var _syncFetchPayload = 0;
5532
- var _fallbackSender;
5533
5514
  var _syncUnloadSender;
5534
5515
  var _offlineListener;
5535
5516
  var _evtNamespace;
@@ -5547,6 +5528,10 @@ var Sender = /** @class */ (function (_super) {
5547
5528
  var _bufferOverrideUsed;
5548
5529
  var _namePrefix;
5549
5530
  var _enableSendPromise;
5531
+ var _alwaysUseCustomSend;
5532
+ var _disableXhr;
5533
+ var _fetchKeepAlive;
5534
+ var _xhrSend;
5550
5535
  dynamicProto(Sender, _this, function (_self, _base) {
5551
5536
  _initDefaults();
5552
5537
  _self.pause = function () {
@@ -5575,7 +5560,7 @@ var Sender = /** @class */ (function (_super) {
5575
5560
  };
5576
5561
  _self.onunloadFlush = function () {
5577
5562
  if (!_paused) {
5578
- if (_beaconSupported) {
5563
+ if (_beaconSupported || _alwaysUseCustomSend) {
5579
5564
  try {
5580
5565
  return _self[_DYN_TRIGGER_SEND ](true, _doUnloadSend, 2 );
5581
5566
  }
@@ -5627,8 +5612,10 @@ var Sender = /** @class */ (function (_super) {
5627
5612
  }
5628
5613
  _maxBatchSizeInBytes = senderConfig[_DYN_MAX_BATCH_SIZE_IN_BY1 ];
5629
5614
  _beaconSupported = (senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ] === false || senderConfig[_DYN_IS_BEACON_API_DISABL3 ] === false) && isBeaconsSupported();
5615
+ _alwaysUseCustomSend = senderConfig[_DYN_ALWAYS_USE_XHR_OVERR4 ];
5616
+ _disableXhr = !!senderConfig.disableXhr;
5630
5617
  var bufferOverride = senderConfig[_DYN_BUFFER_OVERRIDE ];
5631
- var canUseSessionStorage = !!senderConfig[_DYN_ENABLE_SESSION_STORA4 ] &&
5618
+ var canUseSessionStorage = !!senderConfig[_DYN_ENABLE_SESSION_STORA5 ] &&
5632
5619
  (!!bufferOverride || utlCanUseSessionStorage());
5633
5620
  var namePrefix = senderConfig.namePrefix;
5634
5621
  var shouldUpdate = (canUseSessionStorage !== _sessionStorageUsed)
@@ -5652,6 +5639,7 @@ var Sender = /** @class */ (function (_super) {
5652
5639
  _namePrefix = namePrefix;
5653
5640
  _sessionStorageUsed = canUseSessionStorage;
5654
5641
  _bufferOverrideUsed = bufferOverride;
5642
+ _fetchKeepAlive = !senderConfig[_DYN_ONUNLOAD_DISABLE_FET6 ] && isFetchSupported(true);
5655
5643
  _self._sample = new Sample(senderConfig.samplingPercentage, diagLog);
5656
5644
  _instrumentationKey = senderConfig[_DYN_INSTRUMENTATION_KEY ];
5657
5645
  if (!_validateInstrumentationKey(_instrumentationKey, config)) {
@@ -5667,35 +5655,32 @@ var Sender = /** @class */ (function (_super) {
5667
5655
  _customHeaders = null;
5668
5656
  }
5669
5657
  _enableSendPromise = senderConfig.enableSendPromise;
5670
- var sendPostFunc = null;
5671
- if (!senderConfig[_DYN_DISABLE_XHR ] && useXDomainRequest()) {
5672
- sendPostFunc = _xdrSender;
5673
- }
5674
- else if (!senderConfig[_DYN_DISABLE_XHR ] && isXhrSupported()) {
5675
- sendPostFunc = _xhrSender;
5676
- }
5677
- if (!sendPostFunc && isFetchSupported()) {
5678
- sendPostFunc = _fetchSender;
5679
- }
5680
- _fallbackSender = sendPostFunc || _xhrSender;
5658
+ var customInterface = senderConfig.httpXHROverride;
5659
+ var httpInterface = null;
5660
+ var syncInterface = null;
5661
+ httpInterface = _getSenderInterface([1 , 2 ], false);
5662
+ var xhrInterface = { sendPOST: _xhrSender };
5663
+ _xhrSend = function (payload, isAsync) {
5664
+ return _doSend(xhrInterface, payload, isAsync);
5665
+ };
5681
5666
  if (!senderConfig[_DYN_IS_BEACON_API_DISABL3 ] && isBeaconsSupported()) {
5682
- sendPostFunc = _beaconSender;
5667
+ httpInterface = _getSenderInterface([3 ], false);
5683
5668
  }
5684
- _self[_DYN__SENDER ] = sendPostFunc || _xhrSender;
5685
- if (!senderConfig[_DYN_ONUNLOAD_DISABLE_FET5 ] && isFetchSupported(true)) {
5669
+ httpInterface = _alwaysUseCustomSend ? customInterface : (httpInterface || customInterface || xhrInterface);
5670
+ _self[_DYN__SENDER ] = function (payload, isAsync) {
5671
+ return _doSend(httpInterface, payload, isAsync);
5672
+ };
5673
+ if (_fetchKeepAlive) {
5686
5674
  _syncUnloadSender = _fetchKeepAliveSender;
5687
5675
  }
5688
- else if (isBeaconsSupported()) {
5689
- _syncUnloadSender = _beaconSender;
5676
+ syncInterface = _alwaysUseCustomSend ? customInterface : (_getSenderInterface([3 , 1 ], true) || customInterface);
5677
+ if ((_alwaysUseCustomSend || !_syncUnloadSender) && syncInterface) {
5678
+ _syncUnloadSender = function (payload, isAsync) {
5679
+ return _doSend(syncInterface, payload, isAsync);
5680
+ };
5690
5681
  }
5691
- else if (!senderConfig[_DYN_DISABLE_XHR ] && useXDomainRequest()) {
5692
- _syncUnloadSender = _xdrSender;
5693
- }
5694
- else if (!senderConfig[_DYN_DISABLE_XHR ] && isXhrSupported()) {
5695
- _syncUnloadSender = _xhrSender;
5696
- }
5697
- else {
5698
- _syncUnloadSender = _fallbackSender;
5682
+ if (!_syncUnloadSender) {
5683
+ _syncUnloadSender = _xhrSend;
5699
5684
  }
5700
5685
  _disableTelemetry = senderConfig.disableTelemetry;
5701
5686
  _convertUndefined = senderConfig[_DYN_CONVERT_UNDEFINED ] || UNDEFINED_VALUE;
@@ -5767,7 +5752,7 @@ var Sender = /** @class */ (function (_super) {
5767
5752
  }
5768
5753
  _self.processNext(telemetryItem, itemCtx);
5769
5754
  };
5770
- _self[_DYN__XHR_READY_STATE_CHA6 ] = function (xhr, payload, countOfItemsInPayload) {
5755
+ _self[_DYN__XHR_READY_STATE_CHA7 ] = function (xhr, payload, countOfItemsInPayload) {
5771
5756
  if (xhr.readyState === 4) {
5772
5757
  _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, _formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
5773
5758
  }
@@ -5863,6 +5848,73 @@ var Sender = /** @class */ (function (_super) {
5863
5848
  function _isSampledIn(envelope) {
5864
5849
  return _self._sample.isSampledIn(envelope);
5865
5850
  }
5851
+ function _getSenderInterface(transports, syncSupport) {
5852
+ var _a;
5853
+ var transportType = null;
5854
+ var sendPostFunc = null;
5855
+ var lp = 0;
5856
+ while (sendPostFunc == null && lp < transports[_DYN_LENGTH ]) {
5857
+ transportType = transports[lp];
5858
+ if (!_disableXhr && transportType === 1 ) {
5859
+ if (useXDomainRequest()) {
5860
+ sendPostFunc = _xdrSender;
5861
+ }
5862
+ else if (isXhrSupported()) {
5863
+ sendPostFunc = _xhrSender;
5864
+ }
5865
+ }
5866
+ else if (transportType === 2 && isFetchSupported(syncSupport)) {
5867
+ sendPostFunc = _fetchSender;
5868
+ }
5869
+ else if (isBeaconsSupported() && transportType === 3 ) {
5870
+ sendPostFunc = _beaconSender;
5871
+ }
5872
+ lp++;
5873
+ }
5874
+ if (sendPostFunc) {
5875
+ return _a = {},
5876
+ _a[_DYN_SEND_POST ] = sendPostFunc,
5877
+ _a;
5878
+ }
5879
+ return null;
5880
+ }
5881
+ function _getOnComplete(payload, status, headers, response) {
5882
+ if (status === 200 && payload) {
5883
+ _self._onSuccess(payload, payload[_DYN_LENGTH ]);
5884
+ }
5885
+ response && _self[_DYN__ON_ERROR ](payload, response);
5886
+ }
5887
+ function _doSend(sendInterface, payload, isAsync) {
5888
+ var onComplete = function (status, headers, response) {
5889
+ return _getOnComplete(payload, status, headers, response);
5890
+ };
5891
+ var payloadData = _getPayload(payload);
5892
+ var sendPostFunc = sendInterface && sendInterface[_DYN_SEND_POST ];
5893
+ if (sendPostFunc && payloadData) {
5894
+ _self._buffer[_DYN_MARK_AS_SENT ](payload);
5895
+ return sendPostFunc(payloadData, onComplete, !isAsync);
5896
+ }
5897
+ return null;
5898
+ }
5899
+ function _getPayload(payload) {
5900
+ var _a;
5901
+ if (isArray(payload) && payload[_DYN_LENGTH ] > 0) {
5902
+ var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
5903
+ var payloadData = (_a = {},
5904
+ _a[_DYN_DATA ] = batch,
5905
+ _a.urlString = _endpointUrl,
5906
+ _a.headers = _headers,
5907
+ _a.disableXhrSync = _disableXhr,
5908
+ _a.disableFetchKeepAlive = !_fetchKeepAlive,
5909
+ _a[_DYN_ORI_PAYLOAD ] = payload,
5910
+ _a);
5911
+ return payloadData;
5912
+ }
5913
+ return null;
5914
+ }
5915
+ function _fetchSender(payload, oncomplete, sync) {
5916
+ return _doFetchSender(payload, oncomplete, false);
5917
+ }
5866
5918
  function _checkMaxSize(incomingPayload) {
5867
5919
  var incomingSize = incomingPayload ? incomingPayload[_DYN_LENGTH ] : 0;
5868
5920
  if ((_self[_DYN__BUFFER ].size() + incomingSize) > _maxBatchSizeInBytes) {
@@ -5936,45 +5988,60 @@ var Sender = /** @class */ (function (_super) {
5936
5988
  }
5937
5989
  return false;
5938
5990
  }
5991
+ function _doOnComplete(oncomplete, status, headers, response) {
5992
+ try {
5993
+ oncomplete(status, headers, response);
5994
+ }
5995
+ catch (e) {
5996
+ }
5997
+ }
5939
5998
  function _doUnloadSend(payload, isAsync) {
5999
+ var onComplete = function (status, headers, response) {
6000
+ return _getOnComplete(payload, status, headers, response);
6001
+ };
5940
6002
  if (_syncUnloadSender) {
5941
6003
  _syncUnloadSender(payload, false);
5942
6004
  }
5943
6005
  else {
5944
- _beaconSender(payload);
6006
+ var payloadData = _getPayload(payload);
6007
+ _beaconSender(payloadData, onComplete);
5945
6008
  }
5946
6009
  }
5947
- function _doBeaconSend(payload) {
6010
+ function _doBeaconSend(payload, oncomplete) {
5948
6011
  var nav = getNavigator();
5949
- var buffer = _self[_DYN__BUFFER ];
5950
6012
  var url = _endpointUrl;
5951
- var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
5952
- var plainTextBatch = new Blob([batch], { type: "text/plain;charset=UTF-8" });
6013
+ var plainTextBatch = new Blob([payload], { type: "text/plain;charset=UTF-8" });
5953
6014
  var queued = nav.sendBeacon(url, plainTextBatch);
5954
6015
  if (queued) {
5955
- buffer[_DYN_MARK_AS_SENT ](payload);
5956
- _self._onSuccess(payload, payload[_DYN_LENGTH ]);
6016
+ oncomplete(200, {}, payload);
5957
6017
  }
5958
6018
  return queued;
5959
6019
  }
5960
- function _beaconSender(payload, isAsync) {
5961
- if (isArray(payload) && payload[_DYN_LENGTH ] > 0) {
5962
- if (!_doBeaconSend(payload)) {
6020
+ function _beaconSender(payload, oncomplete, sync) {
6021
+ var internalPayload = payload;
6022
+ var data = internalPayload && internalPayload[_DYN_DATA ];
6023
+ if (isString(data) && data[_DYN_LENGTH ] > 0) {
6024
+ if (!_doBeaconSend(data, oncomplete)) {
5963
6025
  var droppedPayload = [];
5964
- for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
5965
- var thePayload = payload[lp];
5966
- if (!_doBeaconSend([thePayload])) {
5967
- droppedPayload[_DYN_PUSH ](thePayload);
6026
+ var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
6027
+ if (oriPayload[_DYN_LENGTH ] > 0) {
6028
+ for (var lp = 0; lp < data[_DYN_LENGTH ]; lp++) {
6029
+ var thePayload = payload[lp];
6030
+ var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](thePayload);
6031
+ if (!_doBeaconSend(batch, oncomplete)) {
6032
+ droppedPayload[_DYN_PUSH ](thePayload);
6033
+ }
5968
6034
  }
5969
6035
  }
5970
6036
  if (droppedPayload[_DYN_LENGTH ] > 0) {
5971
- _fallbackSender && _fallbackSender(droppedPayload, true);
6037
+ _xhrSend && _xhrSend(droppedPayload, true);
5972
6038
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
5973
6039
  }
5974
6040
  }
5975
6041
  }
5976
6042
  }
5977
- function _xhrSender(payload, isAsync) {
6043
+ function _xhrSender(payload, oncomplete, sync) {
6044
+ var internalPayload = payload;
5978
6045
  var thePromise;
5979
6046
  var resolveFunc;
5980
6047
  var rejectFunc;
@@ -5985,7 +6052,7 @@ var Sender = /** @class */ (function (_super) {
5985
6052
  }
5986
6053
  catch (e) {
5987
6054
  }
5988
- xhr.open("POST", endPointUrl, isAsync);
6055
+ xhr.open("POST", endPointUrl, !sync);
5989
6056
  xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
5990
6057
  if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
5991
6058
  xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
@@ -5994,51 +6061,52 @@ var Sender = /** @class */ (function (_super) {
5994
6061
  xhr[_DYN_SET_REQUEST_HEADER ](headerName, _headers[headerName]);
5995
6062
  });
5996
6063
  xhr.onreadystatechange = function () {
5997
- _self._xhrReadyStateChange(xhr, payload, payload[_DYN_LENGTH ]);
6064
+ var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
6065
+ _self._xhrReadyStateChange(xhr, oriPayload, oriPayload[_DYN_LENGTH ]);
5998
6066
  if (xhr.readyState === 4) {
5999
6067
  resolveFunc && resolveFunc(true);
6000
6068
  }
6001
6069
  };
6002
6070
  xhr.onerror = function (event) {
6003
- _self[_DYN__ON_ERROR ](payload, _formatErrorMessageXhr(xhr), event);
6071
+ _doOnComplete(oncomplete, 400, {}, _formatErrorMessageXhr(xhr));
6004
6072
  rejectFunc && rejectFunc(event);
6005
6073
  };
6006
- if (isAsync && _enableSendPromise) {
6074
+ if (!sync && _enableSendPromise) {
6007
6075
  thePromise = createPromise(function (resolve, reject) {
6008
6076
  resolveFunc = resolve;
6009
6077
  rejectFunc = reject;
6010
6078
  });
6011
6079
  }
6012
- var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
6013
- xhr.send(batch);
6014
- _self._buffer[_DYN_MARK_AS_SENT ](payload);
6080
+ xhr.send(payload[_DYN_DATA ]);
6015
6081
  return thePromise;
6016
6082
  }
6017
6083
  function _fetchKeepAliveSender(payload, isAsync) {
6084
+ var onComplete = function (status, headers, response) {
6085
+ return _getOnComplete(payload, status, headers, response);
6086
+ };
6018
6087
  if (isArray(payload)) {
6019
6088
  var payloadSize = payload[_DYN_LENGTH ];
6020
6089
  for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
6021
6090
  payloadSize += payload[lp][_DYN_LENGTH ];
6022
6091
  }
6092
+ var payloadData = _getPayload(payload);
6023
6093
  if ((_syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
6024
- _doFetchSender(payload, false);
6094
+ _doFetchSender(payloadData, onComplete, true);
6025
6095
  }
6026
6096
  else if (isBeaconsSupported()) {
6027
- _beaconSender(payload);
6097
+ _beaconSender(payloadData, onComplete);
6028
6098
  }
6029
6099
  else {
6030
- _fallbackSender && _fallbackSender(payload, true);
6100
+ _xhrSend && _xhrSend(payload, true);
6031
6101
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with xhrSender.");
6032
6102
  }
6033
6103
  }
6034
6104
  }
6035
- function _fetchSender(payload, isAsync) {
6036
- return _doFetchSender(payload, true);
6037
- }
6038
- function _doFetchSender(payload, isAsync) {
6105
+ function _doFetchSender(payload, oncomplete, sync) {
6039
6106
  var _a;
6040
6107
  var endPointUrl = _endpointUrl;
6041
- var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
6108
+ var internalPayload = payload;
6109
+ var batch = internalPayload[_DYN_DATA ];
6042
6110
  var plainTextBatch = new Blob([batch], { type: "application/json" });
6043
6111
  var thePromise;
6044
6112
  var resolveFunc;
@@ -6061,7 +6129,7 @@ var Sender = /** @class */ (function (_super) {
6061
6129
  _a[DisabledPropertyName] = true
6062
6130
  ,
6063
6131
  _a);
6064
- if (!isAsync) {
6132
+ if (sync) {
6065
6133
  init.keepalive = true;
6066
6134
  ignoreResponse = true;
6067
6135
  _syncFetchPayload += batchLength;
@@ -6072,8 +6140,7 @@ var Sender = /** @class */ (function (_super) {
6072
6140
  }
6073
6141
  catch (e) {
6074
6142
  }
6075
- _self._buffer[_DYN_MARK_AS_SENT ](payload);
6076
- if (isAsync && _enableSendPromise) {
6143
+ if (!sync && _enableSendPromise) {
6077
6144
  thePromise = createPromise(function (resolve, reject) {
6078
6145
  resolveFunc = resolve;
6079
6146
  rejectFunc = reject;
@@ -6081,7 +6148,7 @@ var Sender = /** @class */ (function (_super) {
6081
6148
  }
6082
6149
  try {
6083
6150
  doAwaitResponse(fetch(request), function (result) {
6084
- if (!isAsync) {
6151
+ if (sync) {
6085
6152
  _syncFetchPayload -= batchLength;
6086
6153
  batchLength = 0;
6087
6154
  }
@@ -6090,18 +6157,19 @@ var Sender = /** @class */ (function (_super) {
6090
6157
  if (!result.rejected) {
6091
6158
  var response_1 = result.value;
6092
6159
  if (!response_1.ok) {
6093
- _self[_DYN__ON_ERROR ](payload, response_1.statusText);
6160
+ _doOnComplete(oncomplete, 400, {}, response_1.statusText);
6094
6161
  resolveFunc && resolveFunc(false);
6095
6162
  }
6096
6163
  else {
6097
6164
  doAwaitResponse(response_1.text(), function (resp) {
6098
- _checkResponsStatus(response_1.status, payload, response_1.url, payload[_DYN_LENGTH ], response_1.statusText, resp.value || "");
6165
+ var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
6166
+ _checkResponsStatus(response_1.status, oriPayload, response_1.url, oriPayload[_DYN_LENGTH ], response_1.statusText, resp.value || "");
6099
6167
  resolveFunc && resolveFunc(true);
6100
6168
  });
6101
6169
  }
6102
6170
  }
6103
6171
  else {
6104
- _self[_DYN__ON_ERROR ](payload, result.reason && result.reason.message);
6172
+ _doOnComplete(oncomplete, 400, {}, result.reason && result.reason.message);
6105
6173
  rejectFunc && rejectFunc(result.reason);
6106
6174
  }
6107
6175
  }
@@ -6109,13 +6177,13 @@ var Sender = /** @class */ (function (_super) {
6109
6177
  }
6110
6178
  catch (e) {
6111
6179
  if (!responseHandled) {
6112
- _self[_DYN__ON_ERROR ](payload, dumpObj(e));
6180
+ _doOnComplete(oncomplete, 400, {}, dumpObj(e));
6113
6181
  rejectFunc && rejectFunc(e);
6114
6182
  }
6115
6183
  }
6116
6184
  if (ignoreResponse && !responseHandled) {
6117
6185
  responseHandled = true;
6118
- _self._onSuccess(payload, payload[_DYN_LENGTH ]);
6186
+ _doOnComplete(oncomplete, 200, {});
6119
6187
  resolveFunc && resolveFunc(true);
6120
6188
  }
6121
6189
  return thePromise;
@@ -6198,24 +6266,28 @@ var Sender = /** @class */ (function (_super) {
6198
6266
  }
6199
6267
  return message;
6200
6268
  }
6201
- function _xdrSender(payload, isAsync) {
6202
- var buffer = _self[_DYN__BUFFER ];
6269
+ function _xdrSender(payload, oncomplete, sync) {
6270
+ var internalPayload = payload;
6203
6271
  var _window = getWindow();
6204
6272
  var xdr = new XDomainRequest();
6205
- xdr.onload = function () { return _self._xdrOnLoad(xdr, payload); };
6206
- xdr.onerror = function (event) { return _self[_DYN__ON_ERROR ](payload, _formatErrorMessageXdr(xdr), event); };
6273
+ var data = internalPayload[_DYN_DATA ];
6274
+ xdr.onload = function () {
6275
+ var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
6276
+ _self._xdrOnLoad(xdr, oriPayload);
6277
+ };
6278
+ xdr.onerror = function () {
6279
+ _doOnComplete(oncomplete, 400, {}, _formatErrorMessageXdr(xdr));
6280
+ };
6207
6281
  var hostingProtocol = _window && _window.location && _window.location.protocol || "";
6208
6282
  if (_endpointUrl.lastIndexOf(hostingProtocol, 0) !== 0) {
6209
6283
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " +
6210
6284
  "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.");
6211
- buffer[_DYN_CLEAR ]();
6285
+ _self._buffer[_DYN_CLEAR ]();
6212
6286
  return;
6213
6287
  }
6214
6288
  var endpointUrl = _endpointUrl.replace(/^(https?:)/, "");
6215
6289
  xdr.open("POST", endpointUrl);
6216
- var batch = buffer[_DYN_BATCH_PAYLOADS ](payload);
6217
- xdr.send(batch);
6218
- buffer[_DYN_MARK_AS_SENT ](payload);
6290
+ xdr.send(data);
6219
6291
  }
6220
6292
  function _formatErrorMessageXdr(xdr, message) {
6221
6293
  if (xdr) {
@@ -6265,7 +6337,6 @@ var Sender = /** @class */ (function (_super) {
6265
6337
  _serializer = null;
6266
6338
  _stamp_specific_redirects = 0;
6267
6339
  _syncFetchPayload = 0;
6268
- _fallbackSender = null;
6269
6340
  _syncUnloadSender = null;
6270
6341
  _evtNamespace = null;
6271
6342
  _endpointUrl = null;
@@ -6279,6 +6350,9 @@ var Sender = /** @class */ (function (_super) {
6279
6350
  _isRetryDisabled = false;
6280
6351
  _sessionStorageUsed = null;
6281
6352
  _namePrefix = UNDEFINED_VALUE;
6353
+ _disableXhr = false;
6354
+ _fetchKeepAlive = false;
6355
+ _xhrSend = null;
6282
6356
  objDefine(_self, "_senderConfig", {
6283
6357
  g: function () {
6284
6358
  return objExtend({}, defaultAppInsightsChannelConfig);
@@ -6303,6 +6377,4 @@ var Sender = /** @class */ (function (_super) {
6303
6377
  }(BaseTelemetryPlugin));
6304
6378
 
6305
6379
  exports.Sender = Sender;
6306
-
6307
- }));
6308
- //# sourceMappingURL=applicationinsights-channel-js.3.0.4-nightly3.2309-08.js.map
6380
+ //# sourceMappingURL=applicationinsights-channel-js.3.0.4-nightly3.2309-10.cjs.js.map