@microsoft/applicationinsights-channel-js 3.0.4-nightly3.2309-09 → 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-09.cjs.js → applicationinsights-channel-js.3.0.4-nightly3.2309-10.cjs.js} +187 -88
  2. package/browser/es5/{applicationinsights-channel-js.3.0.4-nightly3.2309-09.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-09.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-09.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-09.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-09.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-09.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-09.js → applicationinsights-channel-js.3.0.4-nightly3.2309-10.js} +189 -90
  11. package/browser/es5/{applicationinsights-channel-js.3.0.4-nightly3.2309-09.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-09.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-09.gbl.min.js +0 -6
  50. package/browser/es5/applicationinsights-channel-js.3.0.4-nightly3.2309-09.integrity.json +0 -66
  51. package/browser/es5/applicationinsights-channel-js.3.0.4-nightly3.2309-09.min.js +0 -6
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "applicationinsights-channel-js",
3
+ "version": "3.0.4-nightly3.2309-10",
4
+ "ext": {
5
+ "@cjs.js": {
6
+ "file": "applicationinsights-channel-js.3.0.4-nightly3.2309-10.cjs.js",
7
+ "type": "text/javascript; charset=utf-8",
8
+ "integrity": "sha256-Gn28N/xasqsnBymHQbO2MfnAgh9gJHns61FO002gAhY= sha384-bm9OdDCkyo7YpmQ43IcaZrqAb33c9EuBX4kPnZPVa6YUH64QnPxwUXHfOsHRYyr1 sha512-MW/yHc6o9j9ByaVkB+BVvspg8zNXaKOtWItPR8STcr8Hrt1n6hP/uaF82nxIErArXoaHi2CBnv6P49TgexE5Jw==",
9
+ "hashes": {
10
+ "sha256": "Gn28N/xasqsnBymHQbO2MfnAgh9gJHns61FO002gAhY=",
11
+ "sha384": "bm9OdDCkyo7YpmQ43IcaZrqAb33c9EuBX4kPnZPVa6YUH64QnPxwUXHfOsHRYyr1",
12
+ "sha512": "MW/yHc6o9j9ByaVkB+BVvspg8zNXaKOtWItPR8STcr8Hrt1n6hP/uaF82nxIErArXoaHi2CBnv6P49TgexE5Jw=="
13
+ }
14
+ },
15
+ "@cjs.min.js": {
16
+ "file": "applicationinsights-channel-js.3.0.4-nightly3.2309-10.cjs.min.js",
17
+ "type": "text/javascript; charset=utf-8",
18
+ "integrity": "sha256-ZXpQ4HA6p4eJtSX+vgR4kH0bRyvT63ysPTbKzskzTxQ= sha384-bujFHFGpgmiq3aa/Cw6hIe7g0D5Qx5EONbeTwvobtbn0VThdWMQ/8Ast1nyEHske sha512-TweGxPcvu2Mn5sHs/O5kZE9GtGUxaBj7khdFMu6iiS5c81R7IWwJBXjV33N1BwIE+GrvJC8wnVyh6bk4ejb1LA==",
19
+ "hashes": {
20
+ "sha256": "ZXpQ4HA6p4eJtSX+vgR4kH0bRyvT63ysPTbKzskzTxQ=",
21
+ "sha384": "bujFHFGpgmiq3aa/Cw6hIe7g0D5Qx5EONbeTwvobtbn0VThdWMQ/8Ast1nyEHske",
22
+ "sha512": "TweGxPcvu2Mn5sHs/O5kZE9GtGUxaBj7khdFMu6iiS5c81R7IWwJBXjV33N1BwIE+GrvJC8wnVyh6bk4ejb1LA=="
23
+ }
24
+ },
25
+ "@gbl.js": {
26
+ "file": "applicationinsights-channel-js.3.0.4-nightly3.2309-10.gbl.js",
27
+ "type": "text/javascript; charset=utf-8",
28
+ "integrity": "sha256-CfNsOarKY836aqoBD7LlfrdDkY+xnNOC6reiltPWPbI= sha384-U4DAYRQP74k4sCr9kqK/r8RoPY5g5g7r1UIyAuiRaIhMoNmQRPAjlsR/8vaYfFSk sha512-dNsH1/ComM35jAkASHwHdUmnyTsMbBRWXeoECd+84dCoutgvq7fLXYq7OIAgZ/M86Nom4Ze5PyWJhVC+7E0L6A==",
29
+ "hashes": {
30
+ "sha256": "CfNsOarKY836aqoBD7LlfrdDkY+xnNOC6reiltPWPbI=",
31
+ "sha384": "U4DAYRQP74k4sCr9kqK/r8RoPY5g5g7r1UIyAuiRaIhMoNmQRPAjlsR/8vaYfFSk",
32
+ "sha512": "dNsH1/ComM35jAkASHwHdUmnyTsMbBRWXeoECd+84dCoutgvq7fLXYq7OIAgZ/M86Nom4Ze5PyWJhVC+7E0L6A=="
33
+ }
34
+ },
35
+ "@gbl.min.js": {
36
+ "file": "applicationinsights-channel-js.3.0.4-nightly3.2309-10.gbl.min.js",
37
+ "type": "text/javascript; charset=utf-8",
38
+ "integrity": "sha256-0GQ15CXVq60nHMr1MRO7zDNcXlcfCnmptB7I/xT7nrM= sha384-pv3NVm52T8TL7tNDK+OZka+3zv5DgNe4wSosQYmuDejxq1w2hfDQB2po66xVoMUj sha512-o3YUyd6ZUQGhpgyjPSouqGwk28WQd3TQ8ovPke5oqA80ZeeM31r2ZT2ywV65MiEH32PQ6bP9iSG5+MbGxrNfqw==",
39
+ "hashes": {
40
+ "sha256": "0GQ15CXVq60nHMr1MRO7zDNcXlcfCnmptB7I/xT7nrM=",
41
+ "sha384": "pv3NVm52T8TL7tNDK+OZka+3zv5DgNe4wSosQYmuDejxq1w2hfDQB2po66xVoMUj",
42
+ "sha512": "o3YUyd6ZUQGhpgyjPSouqGwk28WQd3TQ8ovPke5oqA80ZeeM31r2ZT2ywV65MiEH32PQ6bP9iSG5+MbGxrNfqw=="
43
+ }
44
+ },
45
+ "@js": {
46
+ "file": "applicationinsights-channel-js.3.0.4-nightly3.2309-10.js",
47
+ "type": "text/javascript; charset=utf-8",
48
+ "integrity": "sha256-ucWZjIPmlS2zqa9551Ws+a13THNNQgijE03xoTCXTSg= sha384-YoEVufTlOLtpOiGglfqHet+BwBsPZTqhQdB7BN+SID9ay4Ms8xxMfLyUJDqSidLe sha512-f1J+PCMXxMApjBIgO+w6ga7TynHdBk85dDZWJm0R9Q2z60v99keCo+EHap9YhiJepDNfzGI7zRrOud3vo098Ug==",
49
+ "hashes": {
50
+ "sha256": "ucWZjIPmlS2zqa9551Ws+a13THNNQgijE03xoTCXTSg=",
51
+ "sha384": "YoEVufTlOLtpOiGglfqHet+BwBsPZTqhQdB7BN+SID9ay4Ms8xxMfLyUJDqSidLe",
52
+ "sha512": "f1J+PCMXxMApjBIgO+w6ga7TynHdBk85dDZWJm0R9Q2z60v99keCo+EHap9YhiJepDNfzGI7zRrOud3vo098Ug=="
53
+ }
54
+ },
55
+ "@min.js": {
56
+ "file": "applicationinsights-channel-js.3.0.4-nightly3.2309-10.min.js",
57
+ "type": "text/javascript; charset=utf-8",
58
+ "integrity": "sha256-d8osXriwpgwQtM1EXq5dJjTuwKAblNKWXfZKFMFTZiw= sha384-sFfM3zw2XirSGcrZinfmvW9wbJ/mh4zB63+ZEWDwPCE4YPDCYZZynyMnKEIyHwEK sha512-NKDm0yFisZTN58yCRxpn43ame02hKHrvvX7fmgvn0ga6cndr7Jc0DNreKUWO2HnSn7izGjlnA3gKibOE0Cc/jQ==",
59
+ "hashes": {
60
+ "sha256": "d8osXriwpgwQtM1EXq5dJjTuwKAblNKWXfZKFMFTZiw=",
61
+ "sha384": "sFfM3zw2XirSGcrZinfmvW9wbJ/mh4zB63+ZEWDwPCE4YPDCYZZynyMnKEIyHwEK",
62
+ "sha512": "NKDm0yFisZTN58yCRxpn43ame02hKHrvvX7fmgvn0ga6cndr7Jc0DNreKUWO2HnSn7izGjlnA3gKibOE0Cc/jQ=="
63
+ }
64
+ }
65
+ }
66
+ }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Channel, 3.0.4-nightly3.2309-09
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
5
  (function (global, factory) {
@@ -7,8 +7,8 @@
7
7
  typeof exports === "object" && typeof module !== undef ? factory(exports) :
8
8
  typeof define === "function" && define.amd ? define(["exports"], factory) :
9
9
  (function(global){
10
- var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_channel_js_3_0_4_nightly3_2309_09", msMod="__ms$mod__";
11
- var mods={}, modDetail=mods[modName]={}, ver="3.0.4-nightly3.2309-09";
10
+ var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_channel_js_3_0_4_nightly3_2309_10", msMod="__ms$mod__";
11
+ var mods={}, modDetail=mods[modName]={}, ver="3.0.4-nightly3.2309-10";
12
12
  var baseNs=global, nsKey="Microsoft", baseNs=baseNs[nsKey]=(baseNs[nsKey]||{});
13
13
  // Versioned namespace "Microsoft.ApplicationInsights3"
14
14
  var exportNs=baseNs, nsKey="ApplicationInsights3", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
@@ -1787,7 +1787,7 @@ function newId(maxLength) {
1787
1787
  return result;
1788
1788
  }
1789
1789
 
1790
- var version = '3.0.4-nightly3.2309-09';
1790
+ var version = '3.0.4-nightly3.2309-10';
1791
1791
  var instanceName = "." + newId(6);
1792
1792
  var _dataUid = 0;
1793
1793
  function _canAcceptData(target) {
@@ -4685,6 +4685,7 @@ var _DYN_BUFFER_OVERRIDE = "bufferOverride";
4685
4685
  var _DYN__BUFFER__KEY = "BUFFER_KEY";
4686
4686
  var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
4687
4687
  var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
4688
+ var _DYN_SEND_POST = "sendPOST";
4688
4689
  var _DYN_TRIGGER_SEND = "triggerSend";
4689
4690
  var _DYN_DIAG_LOG = "diagLog";
4690
4691
  var _DYN__SENDER = "_sender";
@@ -4692,21 +4693,22 @@ var _DYN_CUSTOM_HEADERS = "customHeaders";
4692
4693
  var _DYN_MAX_BATCH_SIZE_IN_BY1 = "maxBatchSizeInBytes";
4693
4694
  var _DYN_ONUNLOAD_DISABLE_BEA2 = "onunloadDisableBeacon";
4694
4695
  var _DYN_IS_BEACON_API_DISABL3 = "isBeaconApiDisabled";
4695
- var _DYN_ENABLE_SESSION_STORA4 = "enableSessionStorageBuffer";
4696
+ var _DYN_ALWAYS_USE_XHR_OVERR4 = "alwaysUseXhrOverride";
4697
+ var _DYN_ENABLE_SESSION_STORA5 = "enableSessionStorageBuffer";
4696
4698
  var _DYN__BUFFER = "_buffer";
4699
+ var _DYN_ONUNLOAD_DISABLE_FET6 = "onunloadDisableFetch";
4697
4700
  var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
4698
- var _DYN_DISABLE_XHR = "disableXhr";
4699
- var _DYN_ONUNLOAD_DISABLE_FET5 = "onunloadDisableFetch";
4700
4701
  var _DYN_CONVERT_UNDEFINED = "convertUndefined";
4701
4702
  var _DYN_MAX_BATCH_INTERVAL = "maxBatchInterval";
4702
4703
  var _DYN_BASE_TYPE = "baseType";
4703
4704
  var _DYN_SAMPLE_RATE = "sampleRate";
4704
- var _DYN__XHR_READY_STATE_CHA6 = "_xhrReadyStateChange";
4705
+ var _DYN__XHR_READY_STATE_CHA7 = "_xhrReadyStateChange";
4705
4706
  var _DYN__ON_ERROR = "_onError";
4706
4707
  var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
4707
4708
  var _DYN__ON_SUCCESS = "_onSuccess";
4708
4709
  var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
4709
4710
  var _DYN_ITEMS_RECEIVED = "itemsReceived";
4711
+ var _DYN_ORI_PAYLOAD = "oriPayload";
4710
4712
  var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
4711
4713
  var _DYN_EVENTS_SEND_REQUEST = "eventsSendRequest";
4712
4714
  var _DYN_GET_SAMPLING_SCORE = "getSamplingScore";
@@ -4821,7 +4823,7 @@ function EnvelopeCreatorInit(logger, telemetryItem) {
4821
4823
  }
4822
4824
  }
4823
4825
  var EnvelopeCreator = {
4824
- Version: '3.0.4-nightly3.2309-09'
4826
+ Version: '3.0.4-nightly3.2309-10'
4825
4827
  };
4826
4828
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
4827
4829
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -5482,6 +5484,9 @@ function _getResponseText(xhr) {
5482
5484
  }
5483
5485
  return null;
5484
5486
  }
5487
+ function isOverrideFn(httpXHROverride) {
5488
+ return httpXHROverride && httpXHROverride[_DYN_SEND_POST ];
5489
+ }
5485
5490
  var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
5486
5491
  endpointUrl: cfgDfValidate(isTruthy, DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH)
5487
5492
  },
@@ -5489,11 +5494,11 @@ var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
5489
5494
  _a[_DYN_MAX_BATCH_INTERVAL ] = 15000,
5490
5495
  _a[_DYN_MAX_BATCH_SIZE_IN_BY1 ] = 102400,
5491
5496
  _a.disableTelemetry = cfgDfBoolean(),
5492
- _a[_DYN_ENABLE_SESSION_STORA4 ] = cfgDfBoolean(true),
5497
+ _a[_DYN_ENABLE_SESSION_STORA5 ] = cfgDfBoolean(true),
5493
5498
  _a.isRetryDisabled = cfgDfBoolean(),
5494
5499
  _a[_DYN_IS_BEACON_API_DISABL3 ] = cfgDfBoolean(true),
5495
- _a[_DYN_DISABLE_XHR ] = cfgDfBoolean(),
5496
- _a[_DYN_ONUNLOAD_DISABLE_FET5 ] = cfgDfBoolean(),
5500
+ _a.disableXhr = cfgDfBoolean(),
5501
+ _a[_DYN_ONUNLOAD_DISABLE_FET6 ] = cfgDfBoolean(),
5497
5502
  _a[_DYN_ONUNLOAD_DISABLE_BEA2 ] = cfgDfBoolean(),
5498
5503
  _a[_DYN_INSTRUMENTATION_KEY ] = UNDEFINED_VALUE,
5499
5504
  _a.namePrefix = UNDEFINED_VALUE,
@@ -5502,6 +5507,8 @@ var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
5502
5507
  _a[_DYN_CONVERT_UNDEFINED ] = UNDEFINED_VALUE,
5503
5508
  _a[_DYN_EVENTS_LIMIT_IN_MEM ] = 10000,
5504
5509
  _a[_DYN_BUFFER_OVERRIDE ] = false,
5510
+ _a.httpXHROverride = { isVal: isOverrideFn, v: UNDEFINED_VALUE },
5511
+ _a[_DYN_ALWAYS_USE_XHR_OVERR4 ] = cfgDfBoolean(),
5505
5512
  _a));
5506
5513
  function _chkSampling(value) {
5507
5514
  return !isNaN(value) && value > 0 && value <= 100;
@@ -5529,7 +5536,6 @@ var Sender = /** @class */ (function (_super) {
5529
5536
  var _stamp_specific_redirects;
5530
5537
  var _headers;
5531
5538
  var _syncFetchPayload = 0;
5532
- var _fallbackSender;
5533
5539
  var _syncUnloadSender;
5534
5540
  var _offlineListener;
5535
5541
  var _evtNamespace;
@@ -5547,6 +5553,10 @@ var Sender = /** @class */ (function (_super) {
5547
5553
  var _bufferOverrideUsed;
5548
5554
  var _namePrefix;
5549
5555
  var _enableSendPromise;
5556
+ var _alwaysUseCustomSend;
5557
+ var _disableXhr;
5558
+ var _fetchKeepAlive;
5559
+ var _xhrSend;
5550
5560
  dynamicProto(Sender, _this, function (_self, _base) {
5551
5561
  _initDefaults();
5552
5562
  _self.pause = function () {
@@ -5575,7 +5585,7 @@ var Sender = /** @class */ (function (_super) {
5575
5585
  };
5576
5586
  _self.onunloadFlush = function () {
5577
5587
  if (!_paused) {
5578
- if (_beaconSupported) {
5588
+ if (_beaconSupported || _alwaysUseCustomSend) {
5579
5589
  try {
5580
5590
  return _self[_DYN_TRIGGER_SEND ](true, _doUnloadSend, 2 );
5581
5591
  }
@@ -5627,8 +5637,10 @@ var Sender = /** @class */ (function (_super) {
5627
5637
  }
5628
5638
  _maxBatchSizeInBytes = senderConfig[_DYN_MAX_BATCH_SIZE_IN_BY1 ];
5629
5639
  _beaconSupported = (senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ] === false || senderConfig[_DYN_IS_BEACON_API_DISABL3 ] === false) && isBeaconsSupported();
5640
+ _alwaysUseCustomSend = senderConfig[_DYN_ALWAYS_USE_XHR_OVERR4 ];
5641
+ _disableXhr = !!senderConfig.disableXhr;
5630
5642
  var bufferOverride = senderConfig[_DYN_BUFFER_OVERRIDE ];
5631
- var canUseSessionStorage = !!senderConfig[_DYN_ENABLE_SESSION_STORA4 ] &&
5643
+ var canUseSessionStorage = !!senderConfig[_DYN_ENABLE_SESSION_STORA5 ] &&
5632
5644
  (!!bufferOverride || utlCanUseSessionStorage());
5633
5645
  var namePrefix = senderConfig.namePrefix;
5634
5646
  var shouldUpdate = (canUseSessionStorage !== _sessionStorageUsed)
@@ -5652,6 +5664,7 @@ var Sender = /** @class */ (function (_super) {
5652
5664
  _namePrefix = namePrefix;
5653
5665
  _sessionStorageUsed = canUseSessionStorage;
5654
5666
  _bufferOverrideUsed = bufferOverride;
5667
+ _fetchKeepAlive = !senderConfig[_DYN_ONUNLOAD_DISABLE_FET6 ] && isFetchSupported(true);
5655
5668
  _self._sample = new Sample(senderConfig.samplingPercentage, diagLog);
5656
5669
  _instrumentationKey = senderConfig[_DYN_INSTRUMENTATION_KEY ];
5657
5670
  if (!_validateInstrumentationKey(_instrumentationKey, config)) {
@@ -5667,35 +5680,32 @@ var Sender = /** @class */ (function (_super) {
5667
5680
  _customHeaders = null;
5668
5681
  }
5669
5682
  _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;
5683
+ var customInterface = senderConfig.httpXHROverride;
5684
+ var httpInterface = null;
5685
+ var syncInterface = null;
5686
+ httpInterface = _getSenderInterface([1 , 2 ], false);
5687
+ var xhrInterface = { sendPOST: _xhrSender };
5688
+ _xhrSend = function (payload, isAsync) {
5689
+ return _doSend(xhrInterface, payload, isAsync);
5690
+ };
5681
5691
  if (!senderConfig[_DYN_IS_BEACON_API_DISABL3 ] && isBeaconsSupported()) {
5682
- sendPostFunc = _beaconSender;
5692
+ httpInterface = _getSenderInterface([3 ], false);
5683
5693
  }
5684
- _self[_DYN__SENDER ] = sendPostFunc || _xhrSender;
5685
- if (!senderConfig[_DYN_ONUNLOAD_DISABLE_FET5 ] && isFetchSupported(true)) {
5694
+ httpInterface = _alwaysUseCustomSend ? customInterface : (httpInterface || customInterface || xhrInterface);
5695
+ _self[_DYN__SENDER ] = function (payload, isAsync) {
5696
+ return _doSend(httpInterface, payload, isAsync);
5697
+ };
5698
+ if (_fetchKeepAlive) {
5686
5699
  _syncUnloadSender = _fetchKeepAliveSender;
5687
5700
  }
5688
- else if (isBeaconsSupported()) {
5689
- _syncUnloadSender = _beaconSender;
5701
+ syncInterface = _alwaysUseCustomSend ? customInterface : (_getSenderInterface([3 , 1 ], true) || customInterface);
5702
+ if ((_alwaysUseCustomSend || !_syncUnloadSender) && syncInterface) {
5703
+ _syncUnloadSender = function (payload, isAsync) {
5704
+ return _doSend(syncInterface, payload, isAsync);
5705
+ };
5690
5706
  }
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;
5707
+ if (!_syncUnloadSender) {
5708
+ _syncUnloadSender = _xhrSend;
5699
5709
  }
5700
5710
  _disableTelemetry = senderConfig.disableTelemetry;
5701
5711
  _convertUndefined = senderConfig[_DYN_CONVERT_UNDEFINED ] || UNDEFINED_VALUE;
@@ -5767,7 +5777,7 @@ var Sender = /** @class */ (function (_super) {
5767
5777
  }
5768
5778
  _self.processNext(telemetryItem, itemCtx);
5769
5779
  };
5770
- _self[_DYN__XHR_READY_STATE_CHA6 ] = function (xhr, payload, countOfItemsInPayload) {
5780
+ _self[_DYN__XHR_READY_STATE_CHA7 ] = function (xhr, payload, countOfItemsInPayload) {
5771
5781
  if (xhr.readyState === 4) {
5772
5782
  _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, _formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
5773
5783
  }
@@ -5863,6 +5873,73 @@ var Sender = /** @class */ (function (_super) {
5863
5873
  function _isSampledIn(envelope) {
5864
5874
  return _self._sample.isSampledIn(envelope);
5865
5875
  }
5876
+ function _getSenderInterface(transports, syncSupport) {
5877
+ var _a;
5878
+ var transportType = null;
5879
+ var sendPostFunc = null;
5880
+ var lp = 0;
5881
+ while (sendPostFunc == null && lp < transports[_DYN_LENGTH ]) {
5882
+ transportType = transports[lp];
5883
+ if (!_disableXhr && transportType === 1 ) {
5884
+ if (useXDomainRequest()) {
5885
+ sendPostFunc = _xdrSender;
5886
+ }
5887
+ else if (isXhrSupported()) {
5888
+ sendPostFunc = _xhrSender;
5889
+ }
5890
+ }
5891
+ else if (transportType === 2 && isFetchSupported(syncSupport)) {
5892
+ sendPostFunc = _fetchSender;
5893
+ }
5894
+ else if (isBeaconsSupported() && transportType === 3 ) {
5895
+ sendPostFunc = _beaconSender;
5896
+ }
5897
+ lp++;
5898
+ }
5899
+ if (sendPostFunc) {
5900
+ return _a = {},
5901
+ _a[_DYN_SEND_POST ] = sendPostFunc,
5902
+ _a;
5903
+ }
5904
+ return null;
5905
+ }
5906
+ function _getOnComplete(payload, status, headers, response) {
5907
+ if (status === 200 && payload) {
5908
+ _self._onSuccess(payload, payload[_DYN_LENGTH ]);
5909
+ }
5910
+ response && _self[_DYN__ON_ERROR ](payload, response);
5911
+ }
5912
+ function _doSend(sendInterface, payload, isAsync) {
5913
+ var onComplete = function (status, headers, response) {
5914
+ return _getOnComplete(payload, status, headers, response);
5915
+ };
5916
+ var payloadData = _getPayload(payload);
5917
+ var sendPostFunc = sendInterface && sendInterface[_DYN_SEND_POST ];
5918
+ if (sendPostFunc && payloadData) {
5919
+ _self._buffer[_DYN_MARK_AS_SENT ](payload);
5920
+ return sendPostFunc(payloadData, onComplete, !isAsync);
5921
+ }
5922
+ return null;
5923
+ }
5924
+ function _getPayload(payload) {
5925
+ var _a;
5926
+ if (isArray(payload) && payload[_DYN_LENGTH ] > 0) {
5927
+ var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
5928
+ var payloadData = (_a = {},
5929
+ _a[_DYN_DATA ] = batch,
5930
+ _a.urlString = _endpointUrl,
5931
+ _a.headers = _headers,
5932
+ _a.disableXhrSync = _disableXhr,
5933
+ _a.disableFetchKeepAlive = !_fetchKeepAlive,
5934
+ _a[_DYN_ORI_PAYLOAD ] = payload,
5935
+ _a);
5936
+ return payloadData;
5937
+ }
5938
+ return null;
5939
+ }
5940
+ function _fetchSender(payload, oncomplete, sync) {
5941
+ return _doFetchSender(payload, oncomplete, false);
5942
+ }
5866
5943
  function _checkMaxSize(incomingPayload) {
5867
5944
  var incomingSize = incomingPayload ? incomingPayload[_DYN_LENGTH ] : 0;
5868
5945
  if ((_self[_DYN__BUFFER ].size() + incomingSize) > _maxBatchSizeInBytes) {
@@ -5936,45 +6013,60 @@ var Sender = /** @class */ (function (_super) {
5936
6013
  }
5937
6014
  return false;
5938
6015
  }
6016
+ function _doOnComplete(oncomplete, status, headers, response) {
6017
+ try {
6018
+ oncomplete(status, headers, response);
6019
+ }
6020
+ catch (e) {
6021
+ }
6022
+ }
5939
6023
  function _doUnloadSend(payload, isAsync) {
6024
+ var onComplete = function (status, headers, response) {
6025
+ return _getOnComplete(payload, status, headers, response);
6026
+ };
5940
6027
  if (_syncUnloadSender) {
5941
6028
  _syncUnloadSender(payload, false);
5942
6029
  }
5943
6030
  else {
5944
- _beaconSender(payload);
6031
+ var payloadData = _getPayload(payload);
6032
+ _beaconSender(payloadData, onComplete);
5945
6033
  }
5946
6034
  }
5947
- function _doBeaconSend(payload) {
6035
+ function _doBeaconSend(payload, oncomplete) {
5948
6036
  var nav = getNavigator();
5949
- var buffer = _self[_DYN__BUFFER ];
5950
6037
  var url = _endpointUrl;
5951
- var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
5952
- var plainTextBatch = new Blob([batch], { type: "text/plain;charset=UTF-8" });
6038
+ var plainTextBatch = new Blob([payload], { type: "text/plain;charset=UTF-8" });
5953
6039
  var queued = nav.sendBeacon(url, plainTextBatch);
5954
6040
  if (queued) {
5955
- buffer[_DYN_MARK_AS_SENT ](payload);
5956
- _self._onSuccess(payload, payload[_DYN_LENGTH ]);
6041
+ oncomplete(200, {}, payload);
5957
6042
  }
5958
6043
  return queued;
5959
6044
  }
5960
- function _beaconSender(payload, isAsync) {
5961
- if (isArray(payload) && payload[_DYN_LENGTH ] > 0) {
5962
- if (!_doBeaconSend(payload)) {
6045
+ function _beaconSender(payload, oncomplete, sync) {
6046
+ var internalPayload = payload;
6047
+ var data = internalPayload && internalPayload[_DYN_DATA ];
6048
+ if (isString(data) && data[_DYN_LENGTH ] > 0) {
6049
+ if (!_doBeaconSend(data, oncomplete)) {
5963
6050
  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);
6051
+ var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
6052
+ if (oriPayload[_DYN_LENGTH ] > 0) {
6053
+ for (var lp = 0; lp < data[_DYN_LENGTH ]; lp++) {
6054
+ var thePayload = payload[lp];
6055
+ var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](thePayload);
6056
+ if (!_doBeaconSend(batch, oncomplete)) {
6057
+ droppedPayload[_DYN_PUSH ](thePayload);
6058
+ }
5968
6059
  }
5969
6060
  }
5970
6061
  if (droppedPayload[_DYN_LENGTH ] > 0) {
5971
- _fallbackSender && _fallbackSender(droppedPayload, true);
6062
+ _xhrSend && _xhrSend(droppedPayload, true);
5972
6063
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
5973
6064
  }
5974
6065
  }
5975
6066
  }
5976
6067
  }
5977
- function _xhrSender(payload, isAsync) {
6068
+ function _xhrSender(payload, oncomplete, sync) {
6069
+ var internalPayload = payload;
5978
6070
  var thePromise;
5979
6071
  var resolveFunc;
5980
6072
  var rejectFunc;
@@ -5985,7 +6077,7 @@ var Sender = /** @class */ (function (_super) {
5985
6077
  }
5986
6078
  catch (e) {
5987
6079
  }
5988
- xhr.open("POST", endPointUrl, isAsync);
6080
+ xhr.open("POST", endPointUrl, !sync);
5989
6081
  xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
5990
6082
  if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
5991
6083
  xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
@@ -5994,51 +6086,52 @@ var Sender = /** @class */ (function (_super) {
5994
6086
  xhr[_DYN_SET_REQUEST_HEADER ](headerName, _headers[headerName]);
5995
6087
  });
5996
6088
  xhr.onreadystatechange = function () {
5997
- _self._xhrReadyStateChange(xhr, payload, payload[_DYN_LENGTH ]);
6089
+ var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
6090
+ _self._xhrReadyStateChange(xhr, oriPayload, oriPayload[_DYN_LENGTH ]);
5998
6091
  if (xhr.readyState === 4) {
5999
6092
  resolveFunc && resolveFunc(true);
6000
6093
  }
6001
6094
  };
6002
6095
  xhr.onerror = function (event) {
6003
- _self[_DYN__ON_ERROR ](payload, _formatErrorMessageXhr(xhr), event);
6096
+ _doOnComplete(oncomplete, 400, {}, _formatErrorMessageXhr(xhr));
6004
6097
  rejectFunc && rejectFunc(event);
6005
6098
  };
6006
- if (isAsync && _enableSendPromise) {
6099
+ if (!sync && _enableSendPromise) {
6007
6100
  thePromise = createPromise(function (resolve, reject) {
6008
6101
  resolveFunc = resolve;
6009
6102
  rejectFunc = reject;
6010
6103
  });
6011
6104
  }
6012
- var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
6013
- xhr.send(batch);
6014
- _self._buffer[_DYN_MARK_AS_SENT ](payload);
6105
+ xhr.send(payload[_DYN_DATA ]);
6015
6106
  return thePromise;
6016
6107
  }
6017
6108
  function _fetchKeepAliveSender(payload, isAsync) {
6109
+ var onComplete = function (status, headers, response) {
6110
+ return _getOnComplete(payload, status, headers, response);
6111
+ };
6018
6112
  if (isArray(payload)) {
6019
6113
  var payloadSize = payload[_DYN_LENGTH ];
6020
6114
  for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
6021
6115
  payloadSize += payload[lp][_DYN_LENGTH ];
6022
6116
  }
6117
+ var payloadData = _getPayload(payload);
6023
6118
  if ((_syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
6024
- _doFetchSender(payload, false);
6119
+ _doFetchSender(payloadData, onComplete, true);
6025
6120
  }
6026
6121
  else if (isBeaconsSupported()) {
6027
- _beaconSender(payload);
6122
+ _beaconSender(payloadData, onComplete);
6028
6123
  }
6029
6124
  else {
6030
- _fallbackSender && _fallbackSender(payload, true);
6125
+ _xhrSend && _xhrSend(payload, true);
6031
6126
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with xhrSender.");
6032
6127
  }
6033
6128
  }
6034
6129
  }
6035
- function _fetchSender(payload, isAsync) {
6036
- return _doFetchSender(payload, true);
6037
- }
6038
- function _doFetchSender(payload, isAsync) {
6130
+ function _doFetchSender(payload, oncomplete, sync) {
6039
6131
  var _a;
6040
6132
  var endPointUrl = _endpointUrl;
6041
- var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
6133
+ var internalPayload = payload;
6134
+ var batch = internalPayload[_DYN_DATA ];
6042
6135
  var plainTextBatch = new Blob([batch], { type: "application/json" });
6043
6136
  var thePromise;
6044
6137
  var resolveFunc;
@@ -6061,7 +6154,7 @@ var Sender = /** @class */ (function (_super) {
6061
6154
  _a[DisabledPropertyName] = true
6062
6155
  ,
6063
6156
  _a);
6064
- if (!isAsync) {
6157
+ if (sync) {
6065
6158
  init.keepalive = true;
6066
6159
  ignoreResponse = true;
6067
6160
  _syncFetchPayload += batchLength;
@@ -6072,8 +6165,7 @@ var Sender = /** @class */ (function (_super) {
6072
6165
  }
6073
6166
  catch (e) {
6074
6167
  }
6075
- _self._buffer[_DYN_MARK_AS_SENT ](payload);
6076
- if (isAsync && _enableSendPromise) {
6168
+ if (!sync && _enableSendPromise) {
6077
6169
  thePromise = createPromise(function (resolve, reject) {
6078
6170
  resolveFunc = resolve;
6079
6171
  rejectFunc = reject;
@@ -6081,7 +6173,7 @@ var Sender = /** @class */ (function (_super) {
6081
6173
  }
6082
6174
  try {
6083
6175
  doAwaitResponse(fetch(request), function (result) {
6084
- if (!isAsync) {
6176
+ if (sync) {
6085
6177
  _syncFetchPayload -= batchLength;
6086
6178
  batchLength = 0;
6087
6179
  }
@@ -6090,18 +6182,19 @@ var Sender = /** @class */ (function (_super) {
6090
6182
  if (!result.rejected) {
6091
6183
  var response_1 = result.value;
6092
6184
  if (!response_1.ok) {
6093
- _self[_DYN__ON_ERROR ](payload, response_1.statusText);
6185
+ _doOnComplete(oncomplete, 400, {}, response_1.statusText);
6094
6186
  resolveFunc && resolveFunc(false);
6095
6187
  }
6096
6188
  else {
6097
6189
  doAwaitResponse(response_1.text(), function (resp) {
6098
- _checkResponsStatus(response_1.status, payload, response_1.url, payload[_DYN_LENGTH ], response_1.statusText, resp.value || "");
6190
+ var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
6191
+ _checkResponsStatus(response_1.status, oriPayload, response_1.url, oriPayload[_DYN_LENGTH ], response_1.statusText, resp.value || "");
6099
6192
  resolveFunc && resolveFunc(true);
6100
6193
  });
6101
6194
  }
6102
6195
  }
6103
6196
  else {
6104
- _self[_DYN__ON_ERROR ](payload, result.reason && result.reason.message);
6197
+ _doOnComplete(oncomplete, 400, {}, result.reason && result.reason.message);
6105
6198
  rejectFunc && rejectFunc(result.reason);
6106
6199
  }
6107
6200
  }
@@ -6109,13 +6202,13 @@ var Sender = /** @class */ (function (_super) {
6109
6202
  }
6110
6203
  catch (e) {
6111
6204
  if (!responseHandled) {
6112
- _self[_DYN__ON_ERROR ](payload, dumpObj(e));
6205
+ _doOnComplete(oncomplete, 400, {}, dumpObj(e));
6113
6206
  rejectFunc && rejectFunc(e);
6114
6207
  }
6115
6208
  }
6116
6209
  if (ignoreResponse && !responseHandled) {
6117
6210
  responseHandled = true;
6118
- _self._onSuccess(payload, payload[_DYN_LENGTH ]);
6211
+ _doOnComplete(oncomplete, 200, {});
6119
6212
  resolveFunc && resolveFunc(true);
6120
6213
  }
6121
6214
  return thePromise;
@@ -6198,24 +6291,28 @@ var Sender = /** @class */ (function (_super) {
6198
6291
  }
6199
6292
  return message;
6200
6293
  }
6201
- function _xdrSender(payload, isAsync) {
6202
- var buffer = _self[_DYN__BUFFER ];
6294
+ function _xdrSender(payload, oncomplete, sync) {
6295
+ var internalPayload = payload;
6203
6296
  var _window = getWindow();
6204
6297
  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); };
6298
+ var data = internalPayload[_DYN_DATA ];
6299
+ xdr.onload = function () {
6300
+ var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
6301
+ _self._xdrOnLoad(xdr, oriPayload);
6302
+ };
6303
+ xdr.onerror = function () {
6304
+ _doOnComplete(oncomplete, 400, {}, _formatErrorMessageXdr(xdr));
6305
+ };
6207
6306
  var hostingProtocol = _window && _window.location && _window.location.protocol || "";
6208
6307
  if (_endpointUrl.lastIndexOf(hostingProtocol, 0) !== 0) {
6209
6308
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " +
6210
6309
  "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.");
6211
- buffer[_DYN_CLEAR ]();
6310
+ _self._buffer[_DYN_CLEAR ]();
6212
6311
  return;
6213
6312
  }
6214
6313
  var endpointUrl = _endpointUrl.replace(/^(https?:)/, "");
6215
6314
  xdr.open("POST", endpointUrl);
6216
- var batch = buffer[_DYN_BATCH_PAYLOADS ](payload);
6217
- xdr.send(batch);
6218
- buffer[_DYN_MARK_AS_SENT ](payload);
6315
+ xdr.send(data);
6219
6316
  }
6220
6317
  function _formatErrorMessageXdr(xdr, message) {
6221
6318
  if (xdr) {
@@ -6265,7 +6362,6 @@ var Sender = /** @class */ (function (_super) {
6265
6362
  _serializer = null;
6266
6363
  _stamp_specific_redirects = 0;
6267
6364
  _syncFetchPayload = 0;
6268
- _fallbackSender = null;
6269
6365
  _syncUnloadSender = null;
6270
6366
  _evtNamespace = null;
6271
6367
  _endpointUrl = null;
@@ -6279,6 +6375,9 @@ var Sender = /** @class */ (function (_super) {
6279
6375
  _isRetryDisabled = false;
6280
6376
  _sessionStorageUsed = null;
6281
6377
  _namePrefix = UNDEFINED_VALUE;
6378
+ _disableXhr = false;
6379
+ _fetchKeepAlive = false;
6380
+ _xhrSend = null;
6282
6381
  objDefine(_self, "_senderConfig", {
6283
6382
  g: function () {
6284
6383
  return objExtend({}, defaultAppInsightsChannelConfig);
@@ -6305,4 +6404,4 @@ var Sender = /** @class */ (function (_super) {
6305
6404
  exports.Sender = Sender;
6306
6405
 
6307
6406
  }));
6308
- //# sourceMappingURL=applicationinsights-channel-js.3.0.4-nightly3.2309-09.js.map
6407
+ //# sourceMappingURL=applicationinsights-channel-js.3.0.4-nightly3.2309-10.js.map