@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.
- 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
- 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
- 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
- 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
- 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
- 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
- package/browser/es5/applicationinsights-channel-js.3.0.4-nightly3.2309-10.gbl.min.js +6 -0
- 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
- package/browser/es5/applicationinsights-channel-js.3.0.4-nightly3.2309-10.integrity.json +66 -0
- 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
- 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
- package/browser/es5/applicationinsights-channel-js.3.0.4-nightly3.2309-10.min.js +6 -0
- 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
- package/browser/es5/applicationinsights-channel-js.3.cjs.js +186 -87
- package/browser/es5/applicationinsights-channel-js.3.cjs.js.map +1 -1
- package/browser/es5/applicationinsights-channel-js.3.cjs.min.js +2 -2
- package/browser/es5/applicationinsights-channel-js.3.cjs.min.js.map +1 -1
- package/browser/es5/applicationinsights-channel-js.3.gbl.js +188 -89
- package/browser/es5/applicationinsights-channel-js.3.gbl.js.map +1 -1
- package/browser/es5/applicationinsights-channel-js.3.gbl.min.js +2 -2
- package/browser/es5/applicationinsights-channel-js.3.gbl.min.js.map +1 -1
- package/browser/es5/applicationinsights-channel-js.3.integrity.json +25 -25
- package/browser/es5/applicationinsights-channel-js.3.js +188 -89
- package/browser/es5/applicationinsights-channel-js.3.js.map +1 -1
- package/browser/es5/applicationinsights-channel-js.3.min.js +2 -2
- package/browser/es5/applicationinsights-channel-js.3.min.js.map +1 -1
- package/dist/es5/applicationinsights-channel-js.js +186 -87
- package/dist/es5/applicationinsights-channel-js.js.map +1 -1
- package/dist/es5/applicationinsights-channel-js.min.js +2 -2
- package/dist/es5/applicationinsights-channel-js.min.js.map +1 -1
- package/dist-es5/EnvelopeCreator.js +2 -2
- package/dist-es5/EnvelopeCreator.js.map +1 -1
- package/dist-es5/Interfaces.js +1 -1
- package/dist-es5/InternalConstants.js +1 -1
- package/dist-es5/Offline.js +1 -1
- package/dist-es5/SendBuffer.js +1 -1
- package/dist-es5/Sender.js +198 -98
- package/dist-es5/Sender.js.map +1 -1
- package/dist-es5/Serializer.js +1 -1
- package/dist-es5/TelemetryProcessors/Sample.js +1 -1
- package/dist-es5/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js +1 -1
- package/dist-es5/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.js +1 -1
- package/dist-es5/__DynamicConstants.js +14 -12
- package/dist-es5/__DynamicConstants.js.map +1 -1
- package/dist-es5/applicationinsights-channel-js.js +1 -1
- package/package.json +3 -3
- package/types/applicationinsights-channel-js.d.ts +22 -1
- package/types/applicationinsights-channel-js.namespaced.d.ts +22 -1
- package/browser/es5/applicationinsights-channel-js.3.0.4-nightly3.2309-09.gbl.min.js +0 -6
- package/browser/es5/applicationinsights-channel-js.3.0.4-nightly3.2309-09.integrity.json +0 -66
- package/browser/es5/applicationinsights-channel-js.3.0.4-nightly3.2309-09.min.js +0 -6
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Application Insights JavaScript SDK - Channel, 3.0.4-nightly3.2309-
|
|
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) {
|
|
@@ -1765,7 +1765,7 @@
|
|
|
1765
1765
|
return result;
|
|
1766
1766
|
}
|
|
1767
1767
|
|
|
1768
|
-
var version = '3.0.4-nightly3.2309-
|
|
1768
|
+
var version = '3.0.4-nightly3.2309-10';
|
|
1769
1769
|
var instanceName = "." + newId(6);
|
|
1770
1770
|
var _dataUid = 0;
|
|
1771
1771
|
function _canAcceptData(target) {
|
|
@@ -4663,6 +4663,7 @@
|
|
|
4663
4663
|
var _DYN__BUFFER__KEY = "BUFFER_KEY";
|
|
4664
4664
|
var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
|
|
4665
4665
|
var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
|
|
4666
|
+
var _DYN_SEND_POST = "sendPOST";
|
|
4666
4667
|
var _DYN_TRIGGER_SEND = "triggerSend";
|
|
4667
4668
|
var _DYN_DIAG_LOG = "diagLog";
|
|
4668
4669
|
var _DYN__SENDER = "_sender";
|
|
@@ -4670,21 +4671,22 @@
|
|
|
4670
4671
|
var _DYN_MAX_BATCH_SIZE_IN_BY1 = "maxBatchSizeInBytes";
|
|
4671
4672
|
var _DYN_ONUNLOAD_DISABLE_BEA2 = "onunloadDisableBeacon";
|
|
4672
4673
|
var _DYN_IS_BEACON_API_DISABL3 = "isBeaconApiDisabled";
|
|
4673
|
-
var
|
|
4674
|
+
var _DYN_ALWAYS_USE_XHR_OVERR4 = "alwaysUseXhrOverride";
|
|
4675
|
+
var _DYN_ENABLE_SESSION_STORA5 = "enableSessionStorageBuffer";
|
|
4674
4676
|
var _DYN__BUFFER = "_buffer";
|
|
4677
|
+
var _DYN_ONUNLOAD_DISABLE_FET6 = "onunloadDisableFetch";
|
|
4675
4678
|
var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
|
|
4676
|
-
var _DYN_DISABLE_XHR = "disableXhr";
|
|
4677
|
-
var _DYN_ONUNLOAD_DISABLE_FET5 = "onunloadDisableFetch";
|
|
4678
4679
|
var _DYN_CONVERT_UNDEFINED = "convertUndefined";
|
|
4679
4680
|
var _DYN_MAX_BATCH_INTERVAL = "maxBatchInterval";
|
|
4680
4681
|
var _DYN_BASE_TYPE = "baseType";
|
|
4681
4682
|
var _DYN_SAMPLE_RATE = "sampleRate";
|
|
4682
|
-
var
|
|
4683
|
+
var _DYN__XHR_READY_STATE_CHA7 = "_xhrReadyStateChange";
|
|
4683
4684
|
var _DYN__ON_ERROR = "_onError";
|
|
4684
4685
|
var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
|
|
4685
4686
|
var _DYN__ON_SUCCESS = "_onSuccess";
|
|
4686
4687
|
var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
|
|
4687
4688
|
var _DYN_ITEMS_RECEIVED = "itemsReceived";
|
|
4689
|
+
var _DYN_ORI_PAYLOAD = "oriPayload";
|
|
4688
4690
|
var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
|
|
4689
4691
|
var _DYN_EVENTS_SEND_REQUEST = "eventsSendRequest";
|
|
4690
4692
|
var _DYN_GET_SAMPLING_SCORE = "getSamplingScore";
|
|
@@ -4799,7 +4801,7 @@
|
|
|
4799
4801
|
}
|
|
4800
4802
|
}
|
|
4801
4803
|
var EnvelopeCreator = {
|
|
4802
|
-
Version: '3.0.4-nightly3.2309-
|
|
4804
|
+
Version: '3.0.4-nightly3.2309-10'
|
|
4803
4805
|
};
|
|
4804
4806
|
function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
|
|
4805
4807
|
EnvelopeCreatorInit(logger, telemetryItem);
|
|
@@ -5460,6 +5462,9 @@
|
|
|
5460
5462
|
}
|
|
5461
5463
|
return null;
|
|
5462
5464
|
}
|
|
5465
|
+
function isOverrideFn(httpXHROverride) {
|
|
5466
|
+
return httpXHROverride && httpXHROverride[_DYN_SEND_POST ];
|
|
5467
|
+
}
|
|
5463
5468
|
var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
|
|
5464
5469
|
endpointUrl: cfgDfValidate(isTruthy, DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH)
|
|
5465
5470
|
},
|
|
@@ -5467,11 +5472,11 @@
|
|
|
5467
5472
|
_a[_DYN_MAX_BATCH_INTERVAL ] = 15000,
|
|
5468
5473
|
_a[_DYN_MAX_BATCH_SIZE_IN_BY1 ] = 102400,
|
|
5469
5474
|
_a.disableTelemetry = cfgDfBoolean(),
|
|
5470
|
-
_a[
|
|
5475
|
+
_a[_DYN_ENABLE_SESSION_STORA5 ] = cfgDfBoolean(true),
|
|
5471
5476
|
_a.isRetryDisabled = cfgDfBoolean(),
|
|
5472
5477
|
_a[_DYN_IS_BEACON_API_DISABL3 ] = cfgDfBoolean(true),
|
|
5473
|
-
_a
|
|
5474
|
-
_a[
|
|
5478
|
+
_a.disableXhr = cfgDfBoolean(),
|
|
5479
|
+
_a[_DYN_ONUNLOAD_DISABLE_FET6 ] = cfgDfBoolean(),
|
|
5475
5480
|
_a[_DYN_ONUNLOAD_DISABLE_BEA2 ] = cfgDfBoolean(),
|
|
5476
5481
|
_a[_DYN_INSTRUMENTATION_KEY ] = UNDEFINED_VALUE,
|
|
5477
5482
|
_a.namePrefix = UNDEFINED_VALUE,
|
|
@@ -5480,6 +5485,8 @@
|
|
|
5480
5485
|
_a[_DYN_CONVERT_UNDEFINED ] = UNDEFINED_VALUE,
|
|
5481
5486
|
_a[_DYN_EVENTS_LIMIT_IN_MEM ] = 10000,
|
|
5482
5487
|
_a[_DYN_BUFFER_OVERRIDE ] = false,
|
|
5488
|
+
_a.httpXHROverride = { isVal: isOverrideFn, v: UNDEFINED_VALUE },
|
|
5489
|
+
_a[_DYN_ALWAYS_USE_XHR_OVERR4 ] = cfgDfBoolean(),
|
|
5483
5490
|
_a));
|
|
5484
5491
|
function _chkSampling(value) {
|
|
5485
5492
|
return !isNaN(value) && value > 0 && value <= 100;
|
|
@@ -5507,7 +5514,6 @@
|
|
|
5507
5514
|
var _stamp_specific_redirects;
|
|
5508
5515
|
var _headers;
|
|
5509
5516
|
var _syncFetchPayload = 0;
|
|
5510
|
-
var _fallbackSender;
|
|
5511
5517
|
var _syncUnloadSender;
|
|
5512
5518
|
var _offlineListener;
|
|
5513
5519
|
var _evtNamespace;
|
|
@@ -5525,6 +5531,10 @@
|
|
|
5525
5531
|
var _bufferOverrideUsed;
|
|
5526
5532
|
var _namePrefix;
|
|
5527
5533
|
var _enableSendPromise;
|
|
5534
|
+
var _alwaysUseCustomSend;
|
|
5535
|
+
var _disableXhr;
|
|
5536
|
+
var _fetchKeepAlive;
|
|
5537
|
+
var _xhrSend;
|
|
5528
5538
|
dynamicProto(Sender, _this, function (_self, _base) {
|
|
5529
5539
|
_initDefaults();
|
|
5530
5540
|
_self.pause = function () {
|
|
@@ -5553,7 +5563,7 @@
|
|
|
5553
5563
|
};
|
|
5554
5564
|
_self.onunloadFlush = function () {
|
|
5555
5565
|
if (!_paused) {
|
|
5556
|
-
if (_beaconSupported) {
|
|
5566
|
+
if (_beaconSupported || _alwaysUseCustomSend) {
|
|
5557
5567
|
try {
|
|
5558
5568
|
return _self[_DYN_TRIGGER_SEND ](true, _doUnloadSend, 2 );
|
|
5559
5569
|
}
|
|
@@ -5605,8 +5615,10 @@
|
|
|
5605
5615
|
}
|
|
5606
5616
|
_maxBatchSizeInBytes = senderConfig[_DYN_MAX_BATCH_SIZE_IN_BY1 ];
|
|
5607
5617
|
_beaconSupported = (senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ] === false || senderConfig[_DYN_IS_BEACON_API_DISABL3 ] === false) && isBeaconsSupported();
|
|
5618
|
+
_alwaysUseCustomSend = senderConfig[_DYN_ALWAYS_USE_XHR_OVERR4 ];
|
|
5619
|
+
_disableXhr = !!senderConfig.disableXhr;
|
|
5608
5620
|
var bufferOverride = senderConfig[_DYN_BUFFER_OVERRIDE ];
|
|
5609
|
-
var canUseSessionStorage = !!senderConfig[
|
|
5621
|
+
var canUseSessionStorage = !!senderConfig[_DYN_ENABLE_SESSION_STORA5 ] &&
|
|
5610
5622
|
(!!bufferOverride || utlCanUseSessionStorage());
|
|
5611
5623
|
var namePrefix = senderConfig.namePrefix;
|
|
5612
5624
|
var shouldUpdate = (canUseSessionStorage !== _sessionStorageUsed)
|
|
@@ -5630,6 +5642,7 @@
|
|
|
5630
5642
|
_namePrefix = namePrefix;
|
|
5631
5643
|
_sessionStorageUsed = canUseSessionStorage;
|
|
5632
5644
|
_bufferOverrideUsed = bufferOverride;
|
|
5645
|
+
_fetchKeepAlive = !senderConfig[_DYN_ONUNLOAD_DISABLE_FET6 ] && isFetchSupported(true);
|
|
5633
5646
|
_self._sample = new Sample(senderConfig.samplingPercentage, diagLog);
|
|
5634
5647
|
_instrumentationKey = senderConfig[_DYN_INSTRUMENTATION_KEY ];
|
|
5635
5648
|
if (!_validateInstrumentationKey(_instrumentationKey, config)) {
|
|
@@ -5645,35 +5658,32 @@
|
|
|
5645
5658
|
_customHeaders = null;
|
|
5646
5659
|
}
|
|
5647
5660
|
_enableSendPromise = senderConfig.enableSendPromise;
|
|
5648
|
-
var
|
|
5649
|
-
|
|
5650
|
-
|
|
5651
|
-
|
|
5652
|
-
|
|
5653
|
-
|
|
5654
|
-
|
|
5655
|
-
|
|
5656
|
-
sendPostFunc = _fetchSender;
|
|
5657
|
-
}
|
|
5658
|
-
_fallbackSender = sendPostFunc || _xhrSender;
|
|
5661
|
+
var customInterface = senderConfig.httpXHROverride;
|
|
5662
|
+
var httpInterface = null;
|
|
5663
|
+
var syncInterface = null;
|
|
5664
|
+
httpInterface = _getSenderInterface([1 , 2 ], false);
|
|
5665
|
+
var xhrInterface = { sendPOST: _xhrSender };
|
|
5666
|
+
_xhrSend = function (payload, isAsync) {
|
|
5667
|
+
return _doSend(xhrInterface, payload, isAsync);
|
|
5668
|
+
};
|
|
5659
5669
|
if (!senderConfig[_DYN_IS_BEACON_API_DISABL3 ] && isBeaconsSupported()) {
|
|
5660
|
-
|
|
5670
|
+
httpInterface = _getSenderInterface([3 ], false);
|
|
5661
5671
|
}
|
|
5662
|
-
|
|
5663
|
-
|
|
5672
|
+
httpInterface = _alwaysUseCustomSend ? customInterface : (httpInterface || customInterface || xhrInterface);
|
|
5673
|
+
_self[_DYN__SENDER ] = function (payload, isAsync) {
|
|
5674
|
+
return _doSend(httpInterface, payload, isAsync);
|
|
5675
|
+
};
|
|
5676
|
+
if (_fetchKeepAlive) {
|
|
5664
5677
|
_syncUnloadSender = _fetchKeepAliveSender;
|
|
5665
5678
|
}
|
|
5666
|
-
|
|
5667
|
-
|
|
5679
|
+
syncInterface = _alwaysUseCustomSend ? customInterface : (_getSenderInterface([3 , 1 ], true) || customInterface);
|
|
5680
|
+
if ((_alwaysUseCustomSend || !_syncUnloadSender) && syncInterface) {
|
|
5681
|
+
_syncUnloadSender = function (payload, isAsync) {
|
|
5682
|
+
return _doSend(syncInterface, payload, isAsync);
|
|
5683
|
+
};
|
|
5668
5684
|
}
|
|
5669
|
-
|
|
5670
|
-
_syncUnloadSender =
|
|
5671
|
-
}
|
|
5672
|
-
else if (!senderConfig[_DYN_DISABLE_XHR ] && isXhrSupported()) {
|
|
5673
|
-
_syncUnloadSender = _xhrSender;
|
|
5674
|
-
}
|
|
5675
|
-
else {
|
|
5676
|
-
_syncUnloadSender = _fallbackSender;
|
|
5685
|
+
if (!_syncUnloadSender) {
|
|
5686
|
+
_syncUnloadSender = _xhrSend;
|
|
5677
5687
|
}
|
|
5678
5688
|
_disableTelemetry = senderConfig.disableTelemetry;
|
|
5679
5689
|
_convertUndefined = senderConfig[_DYN_CONVERT_UNDEFINED ] || UNDEFINED_VALUE;
|
|
@@ -5745,7 +5755,7 @@
|
|
|
5745
5755
|
}
|
|
5746
5756
|
_self.processNext(telemetryItem, itemCtx);
|
|
5747
5757
|
};
|
|
5748
|
-
_self[
|
|
5758
|
+
_self[_DYN__XHR_READY_STATE_CHA7 ] = function (xhr, payload, countOfItemsInPayload) {
|
|
5749
5759
|
if (xhr.readyState === 4) {
|
|
5750
5760
|
_checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, _formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
|
|
5751
5761
|
}
|
|
@@ -5841,6 +5851,73 @@
|
|
|
5841
5851
|
function _isSampledIn(envelope) {
|
|
5842
5852
|
return _self._sample.isSampledIn(envelope);
|
|
5843
5853
|
}
|
|
5854
|
+
function _getSenderInterface(transports, syncSupport) {
|
|
5855
|
+
var _a;
|
|
5856
|
+
var transportType = null;
|
|
5857
|
+
var sendPostFunc = null;
|
|
5858
|
+
var lp = 0;
|
|
5859
|
+
while (sendPostFunc == null && lp < transports[_DYN_LENGTH ]) {
|
|
5860
|
+
transportType = transports[lp];
|
|
5861
|
+
if (!_disableXhr && transportType === 1 ) {
|
|
5862
|
+
if (useXDomainRequest()) {
|
|
5863
|
+
sendPostFunc = _xdrSender;
|
|
5864
|
+
}
|
|
5865
|
+
else if (isXhrSupported()) {
|
|
5866
|
+
sendPostFunc = _xhrSender;
|
|
5867
|
+
}
|
|
5868
|
+
}
|
|
5869
|
+
else if (transportType === 2 && isFetchSupported(syncSupport)) {
|
|
5870
|
+
sendPostFunc = _fetchSender;
|
|
5871
|
+
}
|
|
5872
|
+
else if (isBeaconsSupported() && transportType === 3 ) {
|
|
5873
|
+
sendPostFunc = _beaconSender;
|
|
5874
|
+
}
|
|
5875
|
+
lp++;
|
|
5876
|
+
}
|
|
5877
|
+
if (sendPostFunc) {
|
|
5878
|
+
return _a = {},
|
|
5879
|
+
_a[_DYN_SEND_POST ] = sendPostFunc,
|
|
5880
|
+
_a;
|
|
5881
|
+
}
|
|
5882
|
+
return null;
|
|
5883
|
+
}
|
|
5884
|
+
function _getOnComplete(payload, status, headers, response) {
|
|
5885
|
+
if (status === 200 && payload) {
|
|
5886
|
+
_self._onSuccess(payload, payload[_DYN_LENGTH ]);
|
|
5887
|
+
}
|
|
5888
|
+
response && _self[_DYN__ON_ERROR ](payload, response);
|
|
5889
|
+
}
|
|
5890
|
+
function _doSend(sendInterface, payload, isAsync) {
|
|
5891
|
+
var onComplete = function (status, headers, response) {
|
|
5892
|
+
return _getOnComplete(payload, status, headers, response);
|
|
5893
|
+
};
|
|
5894
|
+
var payloadData = _getPayload(payload);
|
|
5895
|
+
var sendPostFunc = sendInterface && sendInterface[_DYN_SEND_POST ];
|
|
5896
|
+
if (sendPostFunc && payloadData) {
|
|
5897
|
+
_self._buffer[_DYN_MARK_AS_SENT ](payload);
|
|
5898
|
+
return sendPostFunc(payloadData, onComplete, !isAsync);
|
|
5899
|
+
}
|
|
5900
|
+
return null;
|
|
5901
|
+
}
|
|
5902
|
+
function _getPayload(payload) {
|
|
5903
|
+
var _a;
|
|
5904
|
+
if (isArray(payload) && payload[_DYN_LENGTH ] > 0) {
|
|
5905
|
+
var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
|
|
5906
|
+
var payloadData = (_a = {},
|
|
5907
|
+
_a[_DYN_DATA ] = batch,
|
|
5908
|
+
_a.urlString = _endpointUrl,
|
|
5909
|
+
_a.headers = _headers,
|
|
5910
|
+
_a.disableXhrSync = _disableXhr,
|
|
5911
|
+
_a.disableFetchKeepAlive = !_fetchKeepAlive,
|
|
5912
|
+
_a[_DYN_ORI_PAYLOAD ] = payload,
|
|
5913
|
+
_a);
|
|
5914
|
+
return payloadData;
|
|
5915
|
+
}
|
|
5916
|
+
return null;
|
|
5917
|
+
}
|
|
5918
|
+
function _fetchSender(payload, oncomplete, sync) {
|
|
5919
|
+
return _doFetchSender(payload, oncomplete, false);
|
|
5920
|
+
}
|
|
5844
5921
|
function _checkMaxSize(incomingPayload) {
|
|
5845
5922
|
var incomingSize = incomingPayload ? incomingPayload[_DYN_LENGTH ] : 0;
|
|
5846
5923
|
if ((_self[_DYN__BUFFER ].size() + incomingSize) > _maxBatchSizeInBytes) {
|
|
@@ -5914,45 +5991,60 @@
|
|
|
5914
5991
|
}
|
|
5915
5992
|
return false;
|
|
5916
5993
|
}
|
|
5994
|
+
function _doOnComplete(oncomplete, status, headers, response) {
|
|
5995
|
+
try {
|
|
5996
|
+
oncomplete(status, headers, response);
|
|
5997
|
+
}
|
|
5998
|
+
catch (e) {
|
|
5999
|
+
}
|
|
6000
|
+
}
|
|
5917
6001
|
function _doUnloadSend(payload, isAsync) {
|
|
6002
|
+
var onComplete = function (status, headers, response) {
|
|
6003
|
+
return _getOnComplete(payload, status, headers, response);
|
|
6004
|
+
};
|
|
5918
6005
|
if (_syncUnloadSender) {
|
|
5919
6006
|
_syncUnloadSender(payload, false);
|
|
5920
6007
|
}
|
|
5921
6008
|
else {
|
|
5922
|
-
|
|
6009
|
+
var payloadData = _getPayload(payload);
|
|
6010
|
+
_beaconSender(payloadData, onComplete);
|
|
5923
6011
|
}
|
|
5924
6012
|
}
|
|
5925
|
-
function _doBeaconSend(payload) {
|
|
6013
|
+
function _doBeaconSend(payload, oncomplete) {
|
|
5926
6014
|
var nav = getNavigator();
|
|
5927
|
-
var buffer = _self[_DYN__BUFFER ];
|
|
5928
6015
|
var url = _endpointUrl;
|
|
5929
|
-
var
|
|
5930
|
-
var plainTextBatch = new Blob([batch], { type: "text/plain;charset=UTF-8" });
|
|
6016
|
+
var plainTextBatch = new Blob([payload], { type: "text/plain;charset=UTF-8" });
|
|
5931
6017
|
var queued = nav.sendBeacon(url, plainTextBatch);
|
|
5932
6018
|
if (queued) {
|
|
5933
|
-
|
|
5934
|
-
_self._onSuccess(payload, payload[_DYN_LENGTH ]);
|
|
6019
|
+
oncomplete(200, {}, payload);
|
|
5935
6020
|
}
|
|
5936
6021
|
return queued;
|
|
5937
6022
|
}
|
|
5938
|
-
function _beaconSender(payload,
|
|
5939
|
-
|
|
5940
|
-
|
|
6023
|
+
function _beaconSender(payload, oncomplete, sync) {
|
|
6024
|
+
var internalPayload = payload;
|
|
6025
|
+
var data = internalPayload && internalPayload[_DYN_DATA ];
|
|
6026
|
+
if (isString(data) && data[_DYN_LENGTH ] > 0) {
|
|
6027
|
+
if (!_doBeaconSend(data, oncomplete)) {
|
|
5941
6028
|
var droppedPayload = [];
|
|
5942
|
-
|
|
5943
|
-
|
|
5944
|
-
|
|
5945
|
-
|
|
6029
|
+
var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
|
|
6030
|
+
if (oriPayload[_DYN_LENGTH ] > 0) {
|
|
6031
|
+
for (var lp = 0; lp < data[_DYN_LENGTH ]; lp++) {
|
|
6032
|
+
var thePayload = payload[lp];
|
|
6033
|
+
var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](thePayload);
|
|
6034
|
+
if (!_doBeaconSend(batch, oncomplete)) {
|
|
6035
|
+
droppedPayload[_DYN_PUSH ](thePayload);
|
|
6036
|
+
}
|
|
5946
6037
|
}
|
|
5947
6038
|
}
|
|
5948
6039
|
if (droppedPayload[_DYN_LENGTH ] > 0) {
|
|
5949
|
-
|
|
6040
|
+
_xhrSend && _xhrSend(droppedPayload, true);
|
|
5950
6041
|
_throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
|
|
5951
6042
|
}
|
|
5952
6043
|
}
|
|
5953
6044
|
}
|
|
5954
6045
|
}
|
|
5955
|
-
function _xhrSender(payload,
|
|
6046
|
+
function _xhrSender(payload, oncomplete, sync) {
|
|
6047
|
+
var internalPayload = payload;
|
|
5956
6048
|
var thePromise;
|
|
5957
6049
|
var resolveFunc;
|
|
5958
6050
|
var rejectFunc;
|
|
@@ -5963,7 +6055,7 @@
|
|
|
5963
6055
|
}
|
|
5964
6056
|
catch (e) {
|
|
5965
6057
|
}
|
|
5966
|
-
xhr.open("POST", endPointUrl,
|
|
6058
|
+
xhr.open("POST", endPointUrl, !sync);
|
|
5967
6059
|
xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
|
|
5968
6060
|
if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
|
|
5969
6061
|
xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
|
|
@@ -5972,51 +6064,52 @@
|
|
|
5972
6064
|
xhr[_DYN_SET_REQUEST_HEADER ](headerName, _headers[headerName]);
|
|
5973
6065
|
});
|
|
5974
6066
|
xhr.onreadystatechange = function () {
|
|
5975
|
-
|
|
6067
|
+
var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
|
|
6068
|
+
_self._xhrReadyStateChange(xhr, oriPayload, oriPayload[_DYN_LENGTH ]);
|
|
5976
6069
|
if (xhr.readyState === 4) {
|
|
5977
6070
|
resolveFunc && resolveFunc(true);
|
|
5978
6071
|
}
|
|
5979
6072
|
};
|
|
5980
6073
|
xhr.onerror = function (event) {
|
|
5981
|
-
|
|
6074
|
+
_doOnComplete(oncomplete, 400, {}, _formatErrorMessageXhr(xhr));
|
|
5982
6075
|
rejectFunc && rejectFunc(event);
|
|
5983
6076
|
};
|
|
5984
|
-
if (
|
|
6077
|
+
if (!sync && _enableSendPromise) {
|
|
5985
6078
|
thePromise = createPromise(function (resolve, reject) {
|
|
5986
6079
|
resolveFunc = resolve;
|
|
5987
6080
|
rejectFunc = reject;
|
|
5988
6081
|
});
|
|
5989
6082
|
}
|
|
5990
|
-
|
|
5991
|
-
xhr.send(batch);
|
|
5992
|
-
_self._buffer[_DYN_MARK_AS_SENT ](payload);
|
|
6083
|
+
xhr.send(payload[_DYN_DATA ]);
|
|
5993
6084
|
return thePromise;
|
|
5994
6085
|
}
|
|
5995
6086
|
function _fetchKeepAliveSender(payload, isAsync) {
|
|
6087
|
+
var onComplete = function (status, headers, response) {
|
|
6088
|
+
return _getOnComplete(payload, status, headers, response);
|
|
6089
|
+
};
|
|
5996
6090
|
if (isArray(payload)) {
|
|
5997
6091
|
var payloadSize = payload[_DYN_LENGTH ];
|
|
5998
6092
|
for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
|
|
5999
6093
|
payloadSize += payload[lp][_DYN_LENGTH ];
|
|
6000
6094
|
}
|
|
6095
|
+
var payloadData = _getPayload(payload);
|
|
6001
6096
|
if ((_syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
|
|
6002
|
-
_doFetchSender(
|
|
6097
|
+
_doFetchSender(payloadData, onComplete, true);
|
|
6003
6098
|
}
|
|
6004
6099
|
else if (isBeaconsSupported()) {
|
|
6005
|
-
_beaconSender(
|
|
6100
|
+
_beaconSender(payloadData, onComplete);
|
|
6006
6101
|
}
|
|
6007
6102
|
else {
|
|
6008
|
-
|
|
6103
|
+
_xhrSend && _xhrSend(payload, true);
|
|
6009
6104
|
_throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with xhrSender.");
|
|
6010
6105
|
}
|
|
6011
6106
|
}
|
|
6012
6107
|
}
|
|
6013
|
-
function
|
|
6014
|
-
return _doFetchSender(payload, true);
|
|
6015
|
-
}
|
|
6016
|
-
function _doFetchSender(payload, isAsync) {
|
|
6108
|
+
function _doFetchSender(payload, oncomplete, sync) {
|
|
6017
6109
|
var _a;
|
|
6018
6110
|
var endPointUrl = _endpointUrl;
|
|
6019
|
-
var
|
|
6111
|
+
var internalPayload = payload;
|
|
6112
|
+
var batch = internalPayload[_DYN_DATA ];
|
|
6020
6113
|
var plainTextBatch = new Blob([batch], { type: "application/json" });
|
|
6021
6114
|
var thePromise;
|
|
6022
6115
|
var resolveFunc;
|
|
@@ -6039,7 +6132,7 @@
|
|
|
6039
6132
|
_a[DisabledPropertyName] = true
|
|
6040
6133
|
,
|
|
6041
6134
|
_a);
|
|
6042
|
-
if (
|
|
6135
|
+
if (sync) {
|
|
6043
6136
|
init.keepalive = true;
|
|
6044
6137
|
ignoreResponse = true;
|
|
6045
6138
|
_syncFetchPayload += batchLength;
|
|
@@ -6050,8 +6143,7 @@
|
|
|
6050
6143
|
}
|
|
6051
6144
|
catch (e) {
|
|
6052
6145
|
}
|
|
6053
|
-
|
|
6054
|
-
if (isAsync && _enableSendPromise) {
|
|
6146
|
+
if (!sync && _enableSendPromise) {
|
|
6055
6147
|
thePromise = createPromise(function (resolve, reject) {
|
|
6056
6148
|
resolveFunc = resolve;
|
|
6057
6149
|
rejectFunc = reject;
|
|
@@ -6059,7 +6151,7 @@
|
|
|
6059
6151
|
}
|
|
6060
6152
|
try {
|
|
6061
6153
|
doAwaitResponse(fetch(request), function (result) {
|
|
6062
|
-
if (
|
|
6154
|
+
if (sync) {
|
|
6063
6155
|
_syncFetchPayload -= batchLength;
|
|
6064
6156
|
batchLength = 0;
|
|
6065
6157
|
}
|
|
@@ -6068,18 +6160,19 @@
|
|
|
6068
6160
|
if (!result.rejected) {
|
|
6069
6161
|
var response_1 = result.value;
|
|
6070
6162
|
if (!response_1.ok) {
|
|
6071
|
-
|
|
6163
|
+
_doOnComplete(oncomplete, 400, {}, response_1.statusText);
|
|
6072
6164
|
resolveFunc && resolveFunc(false);
|
|
6073
6165
|
}
|
|
6074
6166
|
else {
|
|
6075
6167
|
doAwaitResponse(response_1.text(), function (resp) {
|
|
6076
|
-
|
|
6168
|
+
var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
|
|
6169
|
+
_checkResponsStatus(response_1.status, oriPayload, response_1.url, oriPayload[_DYN_LENGTH ], response_1.statusText, resp.value || "");
|
|
6077
6170
|
resolveFunc && resolveFunc(true);
|
|
6078
6171
|
});
|
|
6079
6172
|
}
|
|
6080
6173
|
}
|
|
6081
6174
|
else {
|
|
6082
|
-
|
|
6175
|
+
_doOnComplete(oncomplete, 400, {}, result.reason && result.reason.message);
|
|
6083
6176
|
rejectFunc && rejectFunc(result.reason);
|
|
6084
6177
|
}
|
|
6085
6178
|
}
|
|
@@ -6087,13 +6180,13 @@
|
|
|
6087
6180
|
}
|
|
6088
6181
|
catch (e) {
|
|
6089
6182
|
if (!responseHandled) {
|
|
6090
|
-
|
|
6183
|
+
_doOnComplete(oncomplete, 400, {}, dumpObj(e));
|
|
6091
6184
|
rejectFunc && rejectFunc(e);
|
|
6092
6185
|
}
|
|
6093
6186
|
}
|
|
6094
6187
|
if (ignoreResponse && !responseHandled) {
|
|
6095
6188
|
responseHandled = true;
|
|
6096
|
-
|
|
6189
|
+
_doOnComplete(oncomplete, 200, {});
|
|
6097
6190
|
resolveFunc && resolveFunc(true);
|
|
6098
6191
|
}
|
|
6099
6192
|
return thePromise;
|
|
@@ -6176,24 +6269,28 @@
|
|
|
6176
6269
|
}
|
|
6177
6270
|
return message;
|
|
6178
6271
|
}
|
|
6179
|
-
function _xdrSender(payload,
|
|
6180
|
-
var
|
|
6272
|
+
function _xdrSender(payload, oncomplete, sync) {
|
|
6273
|
+
var internalPayload = payload;
|
|
6181
6274
|
var _window = getWindow();
|
|
6182
6275
|
var xdr = new XDomainRequest();
|
|
6183
|
-
|
|
6184
|
-
xdr.
|
|
6276
|
+
var data = internalPayload[_DYN_DATA ];
|
|
6277
|
+
xdr.onload = function () {
|
|
6278
|
+
var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
|
|
6279
|
+
_self._xdrOnLoad(xdr, oriPayload);
|
|
6280
|
+
};
|
|
6281
|
+
xdr.onerror = function () {
|
|
6282
|
+
_doOnComplete(oncomplete, 400, {}, _formatErrorMessageXdr(xdr));
|
|
6283
|
+
};
|
|
6185
6284
|
var hostingProtocol = _window && _window.location && _window.location.protocol || "";
|
|
6186
6285
|
if (_endpointUrl.lastIndexOf(hostingProtocol, 0) !== 0) {
|
|
6187
6286
|
_throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " +
|
|
6188
6287
|
"Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.");
|
|
6189
|
-
|
|
6288
|
+
_self._buffer[_DYN_CLEAR ]();
|
|
6190
6289
|
return;
|
|
6191
6290
|
}
|
|
6192
6291
|
var endpointUrl = _endpointUrl.replace(/^(https?:)/, "");
|
|
6193
6292
|
xdr.open("POST", endpointUrl);
|
|
6194
|
-
|
|
6195
|
-
xdr.send(batch);
|
|
6196
|
-
buffer[_DYN_MARK_AS_SENT ](payload);
|
|
6293
|
+
xdr.send(data);
|
|
6197
6294
|
}
|
|
6198
6295
|
function _formatErrorMessageXdr(xdr, message) {
|
|
6199
6296
|
if (xdr) {
|
|
@@ -6243,7 +6340,6 @@
|
|
|
6243
6340
|
_serializer = null;
|
|
6244
6341
|
_stamp_specific_redirects = 0;
|
|
6245
6342
|
_syncFetchPayload = 0;
|
|
6246
|
-
_fallbackSender = null;
|
|
6247
6343
|
_syncUnloadSender = null;
|
|
6248
6344
|
_evtNamespace = null;
|
|
6249
6345
|
_endpointUrl = null;
|
|
@@ -6257,6 +6353,9 @@
|
|
|
6257
6353
|
_isRetryDisabled = false;
|
|
6258
6354
|
_sessionStorageUsed = null;
|
|
6259
6355
|
_namePrefix = UNDEFINED_VALUE;
|
|
6356
|
+
_disableXhr = false;
|
|
6357
|
+
_fetchKeepAlive = false;
|
|
6358
|
+
_xhrSend = null;
|
|
6260
6359
|
objDefine(_self, "_senderConfig", {
|
|
6261
6360
|
g: function () {
|
|
6262
6361
|
return objExtend({}, defaultAppInsightsChannelConfig);
|