@microsoft/applicationinsights-web-basic 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.
- package/browser/es5/{aib.3.0.4-nightly3.2309-08.cjs.js → aib.3.0.4-nightly3.2309-10.cjs.js} +187 -88
- package/browser/es5/{aib.3.0.4-nightly3.2309-08.cjs.js.map → aib.3.0.4-nightly3.2309-10.cjs.js.map} +1 -1
- package/browser/es5/{aib.3.0.4-nightly3.2309-08.cjs.min.js → aib.3.0.4-nightly3.2309-10.cjs.min.js} +3 -3
- package/browser/es5/{aib.3.0.4-nightly3.2309-08.cjs.min.js.map → aib.3.0.4-nightly3.2309-10.cjs.min.js.map} +1 -1
- package/browser/es5/{aib.3.0.4-nightly3.2309-08.gbl.js → aib.3.0.4-nightly3.2309-10.gbl.js} +189 -90
- package/browser/es5/{aib.3.0.4-nightly3.2309-08.gbl.js.map → aib.3.0.4-nightly3.2309-10.gbl.js.map} +1 -1
- package/browser/es5/aib.3.0.4-nightly3.2309-10.gbl.min.js +6 -0
- package/browser/es5/{aib.3.0.4-nightly3.2309-08.gbl.min.js.map → aib.3.0.4-nightly3.2309-10.gbl.min.js.map} +1 -1
- package/browser/es5/aib.3.0.4-nightly3.2309-10.integrity.json +66 -0
- package/browser/es5/{aib.3.0.4-nightly3.2309-08.js → aib.3.0.4-nightly3.2309-10.js} +189 -90
- package/browser/es5/{aib.3.0.4-nightly3.2309-08.js.map → aib.3.0.4-nightly3.2309-10.js.map} +1 -1
- package/browser/es5/aib.3.0.4-nightly3.2309-10.min.js +6 -0
- package/browser/es5/{aib.3.0.4-nightly3.2309-08.min.js.map → aib.3.0.4-nightly3.2309-10.min.js.map} +1 -1
- package/browser/es5/aib.3.cjs.js +186 -87
- package/browser/es5/aib.3.cjs.js.map +1 -1
- package/browser/es5/aib.3.cjs.min.js +2 -2
- package/browser/es5/aib.3.cjs.min.js.map +1 -1
- package/browser/es5/aib.3.gbl.js +188 -89
- package/browser/es5/aib.3.gbl.js.map +1 -1
- package/browser/es5/aib.3.gbl.min.js +2 -2
- package/browser/es5/aib.3.gbl.min.js.map +1 -1
- package/browser/es5/aib.3.integrity.json +25 -25
- package/browser/es5/aib.3.js +188 -89
- package/browser/es5/aib.3.js.map +1 -1
- package/browser/es5/aib.3.min.js +2 -2
- package/browser/es5/aib.3.min.js.map +1 -1
- package/dist/es5/applicationinsights-web-basic.js +186 -87
- package/dist/es5/applicationinsights-web-basic.js.map +1 -1
- package/dist/es5/applicationinsights-web-basic.min.js +2 -2
- package/dist/es5/applicationinsights-web-basic.min.js.map +1 -1
- package/dist-es5/__DynamicConstants.js +1 -1
- package/dist-es5/index.js +1 -1
- package/package.json +4 -4
- package/types/applicationinsights-web-basic.d.ts +1 -1
- package/types/applicationinsights-web-basic.namespaced.d.ts +1 -1
- package/browser/es5/aib.3.0.4-nightly3.2309-08.gbl.min.js +0 -6
- package/browser/es5/aib.3.0.4-nightly3.2309-08.integrity.json +0 -66
- package/browser/es5/aib.3.0.4-nightly3.2309-08.min.js +0 -6
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Application Insights JavaScript Web SDK - Basic, 3.0.4-nightly3.2309-
|
|
2
|
+
* Application Insights JavaScript Web SDK - Basic, 3.0.4-nightly3.2309-10
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
(function (global, factory) {
|
|
@@ -2041,7 +2041,7 @@
|
|
|
2041
2041
|
return result;
|
|
2042
2042
|
}
|
|
2043
2043
|
|
|
2044
|
-
var version = '3.0.4-nightly3.2309-
|
|
2044
|
+
var version = '3.0.4-nightly3.2309-10';
|
|
2045
2045
|
var instanceName = "." + newId(6);
|
|
2046
2046
|
var _dataUid = 0;
|
|
2047
2047
|
function _canAcceptData(target) {
|
|
@@ -6413,6 +6413,7 @@
|
|
|
6413
6413
|
var _DYN__BUFFER__KEY = "BUFFER_KEY";
|
|
6414
6414
|
var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
|
|
6415
6415
|
var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
|
|
6416
|
+
var _DYN_SEND_POST = "sendPOST";
|
|
6416
6417
|
var _DYN_TRIGGER_SEND = "triggerSend";
|
|
6417
6418
|
var _DYN_DIAG_LOG = "diagLog";
|
|
6418
6419
|
var _DYN__SENDER = "_sender";
|
|
@@ -6420,21 +6421,22 @@
|
|
|
6420
6421
|
var _DYN_MAX_BATCH_SIZE_IN_BY1 = "maxBatchSizeInBytes";
|
|
6421
6422
|
var _DYN_ONUNLOAD_DISABLE_BEA2 = "onunloadDisableBeacon";
|
|
6422
6423
|
var _DYN_IS_BEACON_API_DISABL3 = "isBeaconApiDisabled";
|
|
6423
|
-
var
|
|
6424
|
+
var _DYN_ALWAYS_USE_XHR_OVERR4 = "alwaysUseXhrOverride";
|
|
6425
|
+
var _DYN_ENABLE_SESSION_STORA5 = "enableSessionStorageBuffer";
|
|
6424
6426
|
var _DYN__BUFFER = "_buffer";
|
|
6427
|
+
var _DYN_ONUNLOAD_DISABLE_FET6 = "onunloadDisableFetch";
|
|
6425
6428
|
var _DYN_INSTRUMENTATION_KEY$1 = "instrumentationKey";
|
|
6426
|
-
var _DYN_DISABLE_XHR = "disableXhr";
|
|
6427
|
-
var _DYN_ONUNLOAD_DISABLE_FET5 = "onunloadDisableFetch";
|
|
6428
6429
|
var _DYN_CONVERT_UNDEFINED = "convertUndefined";
|
|
6429
6430
|
var _DYN_MAX_BATCH_INTERVAL = "maxBatchInterval";
|
|
6430
6431
|
var _DYN_BASE_TYPE = "baseType";
|
|
6431
6432
|
var _DYN_SAMPLE_RATE = "sampleRate";
|
|
6432
|
-
var
|
|
6433
|
+
var _DYN__XHR_READY_STATE_CHA7 = "_xhrReadyStateChange";
|
|
6433
6434
|
var _DYN__ON_ERROR = "_onError";
|
|
6434
6435
|
var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
|
|
6435
6436
|
var _DYN__ON_SUCCESS = "_onSuccess";
|
|
6436
6437
|
var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
|
|
6437
6438
|
var _DYN_ITEMS_RECEIVED = "itemsReceived";
|
|
6439
|
+
var _DYN_ORI_PAYLOAD = "oriPayload";
|
|
6438
6440
|
var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
|
|
6439
6441
|
var _DYN_EVENTS_SEND_REQUEST = "eventsSendRequest";
|
|
6440
6442
|
var _DYN_GET_SAMPLING_SCORE = "getSamplingScore";
|
|
@@ -6549,7 +6551,7 @@
|
|
|
6549
6551
|
}
|
|
6550
6552
|
}
|
|
6551
6553
|
var EnvelopeCreator = {
|
|
6552
|
-
Version: '3.0.4-nightly3.2309-
|
|
6554
|
+
Version: '3.0.4-nightly3.2309-10'
|
|
6553
6555
|
};
|
|
6554
6556
|
function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
|
|
6555
6557
|
EnvelopeCreatorInit(logger, telemetryItem);
|
|
@@ -7210,6 +7212,9 @@
|
|
|
7210
7212
|
}
|
|
7211
7213
|
return null;
|
|
7212
7214
|
}
|
|
7215
|
+
function isOverrideFn(httpXHROverride) {
|
|
7216
|
+
return httpXHROverride && httpXHROverride[_DYN_SEND_POST ];
|
|
7217
|
+
}
|
|
7213
7218
|
var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
|
|
7214
7219
|
endpointUrl: cfgDfValidate(isTruthy, DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH)
|
|
7215
7220
|
},
|
|
@@ -7217,11 +7222,11 @@
|
|
|
7217
7222
|
_a[_DYN_MAX_BATCH_INTERVAL ] = 15000,
|
|
7218
7223
|
_a[_DYN_MAX_BATCH_SIZE_IN_BY1 ] = 102400,
|
|
7219
7224
|
_a.disableTelemetry = cfgDfBoolean(),
|
|
7220
|
-
_a[
|
|
7225
|
+
_a[_DYN_ENABLE_SESSION_STORA5 ] = cfgDfBoolean(true),
|
|
7221
7226
|
_a.isRetryDisabled = cfgDfBoolean(),
|
|
7222
7227
|
_a[_DYN_IS_BEACON_API_DISABL3 ] = cfgDfBoolean(true),
|
|
7223
|
-
_a
|
|
7224
|
-
_a[
|
|
7228
|
+
_a.disableXhr = cfgDfBoolean(),
|
|
7229
|
+
_a[_DYN_ONUNLOAD_DISABLE_FET6 ] = cfgDfBoolean(),
|
|
7225
7230
|
_a[_DYN_ONUNLOAD_DISABLE_BEA2 ] = cfgDfBoolean(),
|
|
7226
7231
|
_a[_DYN_INSTRUMENTATION_KEY$1 ] = UNDEFINED_VALUE,
|
|
7227
7232
|
_a.namePrefix = UNDEFINED_VALUE,
|
|
@@ -7230,6 +7235,8 @@
|
|
|
7230
7235
|
_a[_DYN_CONVERT_UNDEFINED ] = UNDEFINED_VALUE,
|
|
7231
7236
|
_a[_DYN_EVENTS_LIMIT_IN_MEM ] = 10000,
|
|
7232
7237
|
_a[_DYN_BUFFER_OVERRIDE ] = false,
|
|
7238
|
+
_a.httpXHROverride = { isVal: isOverrideFn, v: UNDEFINED_VALUE },
|
|
7239
|
+
_a[_DYN_ALWAYS_USE_XHR_OVERR4 ] = cfgDfBoolean(),
|
|
7233
7240
|
_a));
|
|
7234
7241
|
function _chkSampling(value) {
|
|
7235
7242
|
return !isNaN(value) && value > 0 && value <= 100;
|
|
@@ -7257,7 +7264,6 @@
|
|
|
7257
7264
|
var _stamp_specific_redirects;
|
|
7258
7265
|
var _headers;
|
|
7259
7266
|
var _syncFetchPayload = 0;
|
|
7260
|
-
var _fallbackSender;
|
|
7261
7267
|
var _syncUnloadSender;
|
|
7262
7268
|
var _offlineListener;
|
|
7263
7269
|
var _evtNamespace;
|
|
@@ -7275,6 +7281,10 @@
|
|
|
7275
7281
|
var _bufferOverrideUsed;
|
|
7276
7282
|
var _namePrefix;
|
|
7277
7283
|
var _enableSendPromise;
|
|
7284
|
+
var _alwaysUseCustomSend;
|
|
7285
|
+
var _disableXhr;
|
|
7286
|
+
var _fetchKeepAlive;
|
|
7287
|
+
var _xhrSend;
|
|
7278
7288
|
dynamicProto(Sender, _this, function (_self, _base) {
|
|
7279
7289
|
_initDefaults();
|
|
7280
7290
|
_self.pause = function () {
|
|
@@ -7303,7 +7313,7 @@
|
|
|
7303
7313
|
};
|
|
7304
7314
|
_self.onunloadFlush = function () {
|
|
7305
7315
|
if (!_paused) {
|
|
7306
|
-
if (_beaconSupported) {
|
|
7316
|
+
if (_beaconSupported || _alwaysUseCustomSend) {
|
|
7307
7317
|
try {
|
|
7308
7318
|
return _self[_DYN_TRIGGER_SEND ](true, _doUnloadSend, 2 );
|
|
7309
7319
|
}
|
|
@@ -7355,8 +7365,10 @@
|
|
|
7355
7365
|
}
|
|
7356
7366
|
_maxBatchSizeInBytes = senderConfig[_DYN_MAX_BATCH_SIZE_IN_BY1 ];
|
|
7357
7367
|
_beaconSupported = (senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ] === false || senderConfig[_DYN_IS_BEACON_API_DISABL3 ] === false) && isBeaconsSupported();
|
|
7368
|
+
_alwaysUseCustomSend = senderConfig[_DYN_ALWAYS_USE_XHR_OVERR4 ];
|
|
7369
|
+
_disableXhr = !!senderConfig.disableXhr;
|
|
7358
7370
|
var bufferOverride = senderConfig[_DYN_BUFFER_OVERRIDE ];
|
|
7359
|
-
var canUseSessionStorage = !!senderConfig[
|
|
7371
|
+
var canUseSessionStorage = !!senderConfig[_DYN_ENABLE_SESSION_STORA5 ] &&
|
|
7360
7372
|
(!!bufferOverride || utlCanUseSessionStorage());
|
|
7361
7373
|
var namePrefix = senderConfig.namePrefix;
|
|
7362
7374
|
var shouldUpdate = (canUseSessionStorage !== _sessionStorageUsed)
|
|
@@ -7380,6 +7392,7 @@
|
|
|
7380
7392
|
_namePrefix = namePrefix;
|
|
7381
7393
|
_sessionStorageUsed = canUseSessionStorage;
|
|
7382
7394
|
_bufferOverrideUsed = bufferOverride;
|
|
7395
|
+
_fetchKeepAlive = !senderConfig[_DYN_ONUNLOAD_DISABLE_FET6 ] && isFetchSupported(true);
|
|
7383
7396
|
_self._sample = new Sample(senderConfig.samplingPercentage, diagLog);
|
|
7384
7397
|
_instrumentationKey = senderConfig[_DYN_INSTRUMENTATION_KEY$1 ];
|
|
7385
7398
|
if (!_validateInstrumentationKey(_instrumentationKey, config)) {
|
|
@@ -7395,35 +7408,32 @@
|
|
|
7395
7408
|
_customHeaders = null;
|
|
7396
7409
|
}
|
|
7397
7410
|
_enableSendPromise = senderConfig.enableSendPromise;
|
|
7398
|
-
var
|
|
7399
|
-
|
|
7400
|
-
|
|
7401
|
-
|
|
7402
|
-
|
|
7403
|
-
|
|
7404
|
-
|
|
7405
|
-
|
|
7406
|
-
sendPostFunc = _fetchSender;
|
|
7407
|
-
}
|
|
7408
|
-
_fallbackSender = sendPostFunc || _xhrSender;
|
|
7411
|
+
var customInterface = senderConfig.httpXHROverride;
|
|
7412
|
+
var httpInterface = null;
|
|
7413
|
+
var syncInterface = null;
|
|
7414
|
+
httpInterface = _getSenderInterface([1 , 2 ], false);
|
|
7415
|
+
var xhrInterface = { sendPOST: _xhrSender };
|
|
7416
|
+
_xhrSend = function (payload, isAsync) {
|
|
7417
|
+
return _doSend(xhrInterface, payload, isAsync);
|
|
7418
|
+
};
|
|
7409
7419
|
if (!senderConfig[_DYN_IS_BEACON_API_DISABL3 ] && isBeaconsSupported()) {
|
|
7410
|
-
|
|
7420
|
+
httpInterface = _getSenderInterface([3 ], false);
|
|
7411
7421
|
}
|
|
7412
|
-
|
|
7413
|
-
|
|
7422
|
+
httpInterface = _alwaysUseCustomSend ? customInterface : (httpInterface || customInterface || xhrInterface);
|
|
7423
|
+
_self[_DYN__SENDER ] = function (payload, isAsync) {
|
|
7424
|
+
return _doSend(httpInterface, payload, isAsync);
|
|
7425
|
+
};
|
|
7426
|
+
if (_fetchKeepAlive) {
|
|
7414
7427
|
_syncUnloadSender = _fetchKeepAliveSender;
|
|
7415
7428
|
}
|
|
7416
|
-
|
|
7417
|
-
|
|
7418
|
-
|
|
7419
|
-
|
|
7420
|
-
|
|
7429
|
+
syncInterface = _alwaysUseCustomSend ? customInterface : (_getSenderInterface([3 , 1 ], true) || customInterface);
|
|
7430
|
+
if ((_alwaysUseCustomSend || !_syncUnloadSender) && syncInterface) {
|
|
7431
|
+
_syncUnloadSender = function (payload, isAsync) {
|
|
7432
|
+
return _doSend(syncInterface, payload, isAsync);
|
|
7433
|
+
};
|
|
7421
7434
|
}
|
|
7422
|
-
|
|
7423
|
-
_syncUnloadSender =
|
|
7424
|
-
}
|
|
7425
|
-
else {
|
|
7426
|
-
_syncUnloadSender = _fallbackSender;
|
|
7435
|
+
if (!_syncUnloadSender) {
|
|
7436
|
+
_syncUnloadSender = _xhrSend;
|
|
7427
7437
|
}
|
|
7428
7438
|
_disableTelemetry = senderConfig.disableTelemetry;
|
|
7429
7439
|
_convertUndefined = senderConfig[_DYN_CONVERT_UNDEFINED ] || UNDEFINED_VALUE;
|
|
@@ -7495,7 +7505,7 @@
|
|
|
7495
7505
|
}
|
|
7496
7506
|
_self.processNext(telemetryItem, itemCtx);
|
|
7497
7507
|
};
|
|
7498
|
-
_self[
|
|
7508
|
+
_self[_DYN__XHR_READY_STATE_CHA7 ] = function (xhr, payload, countOfItemsInPayload) {
|
|
7499
7509
|
if (xhr.readyState === 4) {
|
|
7500
7510
|
_checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, _formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
|
|
7501
7511
|
}
|
|
@@ -7591,6 +7601,73 @@
|
|
|
7591
7601
|
function _isSampledIn(envelope) {
|
|
7592
7602
|
return _self._sample.isSampledIn(envelope);
|
|
7593
7603
|
}
|
|
7604
|
+
function _getSenderInterface(transports, syncSupport) {
|
|
7605
|
+
var _a;
|
|
7606
|
+
var transportType = null;
|
|
7607
|
+
var sendPostFunc = null;
|
|
7608
|
+
var lp = 0;
|
|
7609
|
+
while (sendPostFunc == null && lp < transports[_DYN_LENGTH ]) {
|
|
7610
|
+
transportType = transports[lp];
|
|
7611
|
+
if (!_disableXhr && transportType === 1 ) {
|
|
7612
|
+
if (useXDomainRequest()) {
|
|
7613
|
+
sendPostFunc = _xdrSender;
|
|
7614
|
+
}
|
|
7615
|
+
else if (isXhrSupported()) {
|
|
7616
|
+
sendPostFunc = _xhrSender;
|
|
7617
|
+
}
|
|
7618
|
+
}
|
|
7619
|
+
else if (transportType === 2 && isFetchSupported(syncSupport)) {
|
|
7620
|
+
sendPostFunc = _fetchSender;
|
|
7621
|
+
}
|
|
7622
|
+
else if (isBeaconsSupported() && transportType === 3 ) {
|
|
7623
|
+
sendPostFunc = _beaconSender;
|
|
7624
|
+
}
|
|
7625
|
+
lp++;
|
|
7626
|
+
}
|
|
7627
|
+
if (sendPostFunc) {
|
|
7628
|
+
return _a = {},
|
|
7629
|
+
_a[_DYN_SEND_POST ] = sendPostFunc,
|
|
7630
|
+
_a;
|
|
7631
|
+
}
|
|
7632
|
+
return null;
|
|
7633
|
+
}
|
|
7634
|
+
function _getOnComplete(payload, status, headers, response) {
|
|
7635
|
+
if (status === 200 && payload) {
|
|
7636
|
+
_self._onSuccess(payload, payload[_DYN_LENGTH ]);
|
|
7637
|
+
}
|
|
7638
|
+
response && _self[_DYN__ON_ERROR ](payload, response);
|
|
7639
|
+
}
|
|
7640
|
+
function _doSend(sendInterface, payload, isAsync) {
|
|
7641
|
+
var onComplete = function (status, headers, response) {
|
|
7642
|
+
return _getOnComplete(payload, status, headers, response);
|
|
7643
|
+
};
|
|
7644
|
+
var payloadData = _getPayload(payload);
|
|
7645
|
+
var sendPostFunc = sendInterface && sendInterface[_DYN_SEND_POST ];
|
|
7646
|
+
if (sendPostFunc && payloadData) {
|
|
7647
|
+
_self._buffer[_DYN_MARK_AS_SENT ](payload);
|
|
7648
|
+
return sendPostFunc(payloadData, onComplete, !isAsync);
|
|
7649
|
+
}
|
|
7650
|
+
return null;
|
|
7651
|
+
}
|
|
7652
|
+
function _getPayload(payload) {
|
|
7653
|
+
var _a;
|
|
7654
|
+
if (isArray(payload) && payload[_DYN_LENGTH ] > 0) {
|
|
7655
|
+
var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
|
|
7656
|
+
var payloadData = (_a = {},
|
|
7657
|
+
_a[_DYN_DATA ] = batch,
|
|
7658
|
+
_a.urlString = _endpointUrl,
|
|
7659
|
+
_a.headers = _headers,
|
|
7660
|
+
_a.disableXhrSync = _disableXhr,
|
|
7661
|
+
_a.disableFetchKeepAlive = !_fetchKeepAlive,
|
|
7662
|
+
_a[_DYN_ORI_PAYLOAD ] = payload,
|
|
7663
|
+
_a);
|
|
7664
|
+
return payloadData;
|
|
7665
|
+
}
|
|
7666
|
+
return null;
|
|
7667
|
+
}
|
|
7668
|
+
function _fetchSender(payload, oncomplete, sync) {
|
|
7669
|
+
return _doFetchSender(payload, oncomplete, false);
|
|
7670
|
+
}
|
|
7594
7671
|
function _checkMaxSize(incomingPayload) {
|
|
7595
7672
|
var incomingSize = incomingPayload ? incomingPayload[_DYN_LENGTH ] : 0;
|
|
7596
7673
|
if ((_self[_DYN__BUFFER ].size() + incomingSize) > _maxBatchSizeInBytes) {
|
|
@@ -7664,45 +7741,60 @@
|
|
|
7664
7741
|
}
|
|
7665
7742
|
return false;
|
|
7666
7743
|
}
|
|
7744
|
+
function _doOnComplete(oncomplete, status, headers, response) {
|
|
7745
|
+
try {
|
|
7746
|
+
oncomplete(status, headers, response);
|
|
7747
|
+
}
|
|
7748
|
+
catch (e) {
|
|
7749
|
+
}
|
|
7750
|
+
}
|
|
7667
7751
|
function _doUnloadSend(payload, isAsync) {
|
|
7752
|
+
var onComplete = function (status, headers, response) {
|
|
7753
|
+
return _getOnComplete(payload, status, headers, response);
|
|
7754
|
+
};
|
|
7668
7755
|
if (_syncUnloadSender) {
|
|
7669
7756
|
_syncUnloadSender(payload, false);
|
|
7670
7757
|
}
|
|
7671
7758
|
else {
|
|
7672
|
-
|
|
7759
|
+
var payloadData = _getPayload(payload);
|
|
7760
|
+
_beaconSender(payloadData, onComplete);
|
|
7673
7761
|
}
|
|
7674
7762
|
}
|
|
7675
|
-
function _doBeaconSend(payload) {
|
|
7763
|
+
function _doBeaconSend(payload, oncomplete) {
|
|
7676
7764
|
var nav = getNavigator();
|
|
7677
|
-
var buffer = _self[_DYN__BUFFER ];
|
|
7678
7765
|
var url = _endpointUrl;
|
|
7679
|
-
var
|
|
7680
|
-
var plainTextBatch = new Blob([batch], { type: "text/plain;charset=UTF-8" });
|
|
7766
|
+
var plainTextBatch = new Blob([payload], { type: "text/plain;charset=UTF-8" });
|
|
7681
7767
|
var queued = nav.sendBeacon(url, plainTextBatch);
|
|
7682
7768
|
if (queued) {
|
|
7683
|
-
|
|
7684
|
-
_self._onSuccess(payload, payload[_DYN_LENGTH ]);
|
|
7769
|
+
oncomplete(200, {}, payload);
|
|
7685
7770
|
}
|
|
7686
7771
|
return queued;
|
|
7687
7772
|
}
|
|
7688
|
-
function _beaconSender(payload,
|
|
7689
|
-
|
|
7690
|
-
|
|
7773
|
+
function _beaconSender(payload, oncomplete, sync) {
|
|
7774
|
+
var internalPayload = payload;
|
|
7775
|
+
var data = internalPayload && internalPayload[_DYN_DATA ];
|
|
7776
|
+
if (isString(data) && data[_DYN_LENGTH ] > 0) {
|
|
7777
|
+
if (!_doBeaconSend(data, oncomplete)) {
|
|
7691
7778
|
var droppedPayload = [];
|
|
7692
|
-
|
|
7693
|
-
|
|
7694
|
-
|
|
7695
|
-
|
|
7779
|
+
var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
|
|
7780
|
+
if (oriPayload[_DYN_LENGTH ] > 0) {
|
|
7781
|
+
for (var lp = 0; lp < data[_DYN_LENGTH ]; lp++) {
|
|
7782
|
+
var thePayload = payload[lp];
|
|
7783
|
+
var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](thePayload);
|
|
7784
|
+
if (!_doBeaconSend(batch, oncomplete)) {
|
|
7785
|
+
droppedPayload[_DYN_PUSH ](thePayload);
|
|
7786
|
+
}
|
|
7696
7787
|
}
|
|
7697
7788
|
}
|
|
7698
7789
|
if (droppedPayload[_DYN_LENGTH ] > 0) {
|
|
7699
|
-
|
|
7790
|
+
_xhrSend && _xhrSend(droppedPayload, true);
|
|
7700
7791
|
_throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
|
|
7701
7792
|
}
|
|
7702
7793
|
}
|
|
7703
7794
|
}
|
|
7704
7795
|
}
|
|
7705
|
-
function _xhrSender(payload,
|
|
7796
|
+
function _xhrSender(payload, oncomplete, sync) {
|
|
7797
|
+
var internalPayload = payload;
|
|
7706
7798
|
var thePromise;
|
|
7707
7799
|
var resolveFunc;
|
|
7708
7800
|
var rejectFunc;
|
|
@@ -7713,7 +7805,7 @@
|
|
|
7713
7805
|
}
|
|
7714
7806
|
catch (e) {
|
|
7715
7807
|
}
|
|
7716
|
-
xhr.open("POST", endPointUrl,
|
|
7808
|
+
xhr.open("POST", endPointUrl, !sync);
|
|
7717
7809
|
xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
|
|
7718
7810
|
if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
|
|
7719
7811
|
xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
|
|
@@ -7722,51 +7814,52 @@
|
|
|
7722
7814
|
xhr[_DYN_SET_REQUEST_HEADER ](headerName, _headers[headerName]);
|
|
7723
7815
|
});
|
|
7724
7816
|
xhr.onreadystatechange = function () {
|
|
7725
|
-
|
|
7817
|
+
var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
|
|
7818
|
+
_self._xhrReadyStateChange(xhr, oriPayload, oriPayload[_DYN_LENGTH ]);
|
|
7726
7819
|
if (xhr.readyState === 4) {
|
|
7727
7820
|
resolveFunc && resolveFunc(true);
|
|
7728
7821
|
}
|
|
7729
7822
|
};
|
|
7730
7823
|
xhr.onerror = function (event) {
|
|
7731
|
-
|
|
7824
|
+
_doOnComplete(oncomplete, 400, {}, _formatErrorMessageXhr(xhr));
|
|
7732
7825
|
rejectFunc && rejectFunc(event);
|
|
7733
7826
|
};
|
|
7734
|
-
if (
|
|
7827
|
+
if (!sync && _enableSendPromise) {
|
|
7735
7828
|
thePromise = createPromise(function (resolve, reject) {
|
|
7736
7829
|
resolveFunc = resolve;
|
|
7737
7830
|
rejectFunc = reject;
|
|
7738
7831
|
});
|
|
7739
7832
|
}
|
|
7740
|
-
|
|
7741
|
-
xhr.send(batch);
|
|
7742
|
-
_self._buffer[_DYN_MARK_AS_SENT ](payload);
|
|
7833
|
+
xhr.send(payload[_DYN_DATA ]);
|
|
7743
7834
|
return thePromise;
|
|
7744
7835
|
}
|
|
7745
7836
|
function _fetchKeepAliveSender(payload, isAsync) {
|
|
7837
|
+
var onComplete = function (status, headers, response) {
|
|
7838
|
+
return _getOnComplete(payload, status, headers, response);
|
|
7839
|
+
};
|
|
7746
7840
|
if (isArray(payload)) {
|
|
7747
7841
|
var payloadSize = payload[_DYN_LENGTH ];
|
|
7748
7842
|
for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
|
|
7749
7843
|
payloadSize += payload[lp][_DYN_LENGTH ];
|
|
7750
7844
|
}
|
|
7845
|
+
var payloadData = _getPayload(payload);
|
|
7751
7846
|
if ((_syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
|
|
7752
|
-
_doFetchSender(
|
|
7847
|
+
_doFetchSender(payloadData, onComplete, true);
|
|
7753
7848
|
}
|
|
7754
7849
|
else if (isBeaconsSupported()) {
|
|
7755
|
-
_beaconSender(
|
|
7850
|
+
_beaconSender(payloadData, onComplete);
|
|
7756
7851
|
}
|
|
7757
7852
|
else {
|
|
7758
|
-
|
|
7853
|
+
_xhrSend && _xhrSend(payload, true);
|
|
7759
7854
|
_throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with xhrSender.");
|
|
7760
7855
|
}
|
|
7761
7856
|
}
|
|
7762
7857
|
}
|
|
7763
|
-
function
|
|
7764
|
-
return _doFetchSender(payload, true);
|
|
7765
|
-
}
|
|
7766
|
-
function _doFetchSender(payload, isAsync) {
|
|
7858
|
+
function _doFetchSender(payload, oncomplete, sync) {
|
|
7767
7859
|
var _a;
|
|
7768
7860
|
var endPointUrl = _endpointUrl;
|
|
7769
|
-
var
|
|
7861
|
+
var internalPayload = payload;
|
|
7862
|
+
var batch = internalPayload[_DYN_DATA ];
|
|
7770
7863
|
var plainTextBatch = new Blob([batch], { type: "application/json" });
|
|
7771
7864
|
var thePromise;
|
|
7772
7865
|
var resolveFunc;
|
|
@@ -7789,7 +7882,7 @@
|
|
|
7789
7882
|
_a[DisabledPropertyName] = true
|
|
7790
7883
|
,
|
|
7791
7884
|
_a);
|
|
7792
|
-
if (
|
|
7885
|
+
if (sync) {
|
|
7793
7886
|
init.keepalive = true;
|
|
7794
7887
|
ignoreResponse = true;
|
|
7795
7888
|
_syncFetchPayload += batchLength;
|
|
@@ -7800,8 +7893,7 @@
|
|
|
7800
7893
|
}
|
|
7801
7894
|
catch (e) {
|
|
7802
7895
|
}
|
|
7803
|
-
|
|
7804
|
-
if (isAsync && _enableSendPromise) {
|
|
7896
|
+
if (!sync && _enableSendPromise) {
|
|
7805
7897
|
thePromise = createPromise(function (resolve, reject) {
|
|
7806
7898
|
resolveFunc = resolve;
|
|
7807
7899
|
rejectFunc = reject;
|
|
@@ -7809,7 +7901,7 @@
|
|
|
7809
7901
|
}
|
|
7810
7902
|
try {
|
|
7811
7903
|
doAwaitResponse(fetch(request), function (result) {
|
|
7812
|
-
if (
|
|
7904
|
+
if (sync) {
|
|
7813
7905
|
_syncFetchPayload -= batchLength;
|
|
7814
7906
|
batchLength = 0;
|
|
7815
7907
|
}
|
|
@@ -7818,18 +7910,19 @@
|
|
|
7818
7910
|
if (!result.rejected) {
|
|
7819
7911
|
var response_1 = result.value;
|
|
7820
7912
|
if (!response_1.ok) {
|
|
7821
|
-
|
|
7913
|
+
_doOnComplete(oncomplete, 400, {}, response_1.statusText);
|
|
7822
7914
|
resolveFunc && resolveFunc(false);
|
|
7823
7915
|
}
|
|
7824
7916
|
else {
|
|
7825
7917
|
doAwaitResponse(response_1.text(), function (resp) {
|
|
7826
|
-
|
|
7918
|
+
var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
|
|
7919
|
+
_checkResponsStatus(response_1.status, oriPayload, response_1.url, oriPayload[_DYN_LENGTH ], response_1.statusText, resp.value || "");
|
|
7827
7920
|
resolveFunc && resolveFunc(true);
|
|
7828
7921
|
});
|
|
7829
7922
|
}
|
|
7830
7923
|
}
|
|
7831
7924
|
else {
|
|
7832
|
-
|
|
7925
|
+
_doOnComplete(oncomplete, 400, {}, result.reason && result.reason.message);
|
|
7833
7926
|
rejectFunc && rejectFunc(result.reason);
|
|
7834
7927
|
}
|
|
7835
7928
|
}
|
|
@@ -7837,13 +7930,13 @@
|
|
|
7837
7930
|
}
|
|
7838
7931
|
catch (e) {
|
|
7839
7932
|
if (!responseHandled) {
|
|
7840
|
-
|
|
7933
|
+
_doOnComplete(oncomplete, 400, {}, dumpObj(e));
|
|
7841
7934
|
rejectFunc && rejectFunc(e);
|
|
7842
7935
|
}
|
|
7843
7936
|
}
|
|
7844
7937
|
if (ignoreResponse && !responseHandled) {
|
|
7845
7938
|
responseHandled = true;
|
|
7846
|
-
|
|
7939
|
+
_doOnComplete(oncomplete, 200, {});
|
|
7847
7940
|
resolveFunc && resolveFunc(true);
|
|
7848
7941
|
}
|
|
7849
7942
|
return thePromise;
|
|
@@ -7926,24 +8019,28 @@
|
|
|
7926
8019
|
}
|
|
7927
8020
|
return message;
|
|
7928
8021
|
}
|
|
7929
|
-
function _xdrSender(payload,
|
|
7930
|
-
var
|
|
8022
|
+
function _xdrSender(payload, oncomplete, sync) {
|
|
8023
|
+
var internalPayload = payload;
|
|
7931
8024
|
var _window = getWindow();
|
|
7932
8025
|
var xdr = new XDomainRequest();
|
|
7933
|
-
|
|
7934
|
-
xdr.
|
|
8026
|
+
var data = internalPayload[_DYN_DATA ];
|
|
8027
|
+
xdr.onload = function () {
|
|
8028
|
+
var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
|
|
8029
|
+
_self._xdrOnLoad(xdr, oriPayload);
|
|
8030
|
+
};
|
|
8031
|
+
xdr.onerror = function () {
|
|
8032
|
+
_doOnComplete(oncomplete, 400, {}, _formatErrorMessageXdr(xdr));
|
|
8033
|
+
};
|
|
7935
8034
|
var hostingProtocol = _window && _window.location && _window.location.protocol || "";
|
|
7936
8035
|
if (_endpointUrl.lastIndexOf(hostingProtocol, 0) !== 0) {
|
|
7937
8036
|
_throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " +
|
|
7938
8037
|
"Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.");
|
|
7939
|
-
|
|
8038
|
+
_self._buffer[_DYN_CLEAR ]();
|
|
7940
8039
|
return;
|
|
7941
8040
|
}
|
|
7942
8041
|
var endpointUrl = _endpointUrl.replace(/^(https?:)/, "");
|
|
7943
8042
|
xdr.open("POST", endpointUrl);
|
|
7944
|
-
|
|
7945
|
-
xdr.send(batch);
|
|
7946
|
-
buffer[_DYN_MARK_AS_SENT ](payload);
|
|
8043
|
+
xdr.send(data);
|
|
7947
8044
|
}
|
|
7948
8045
|
function _formatErrorMessageXdr(xdr, message) {
|
|
7949
8046
|
if (xdr) {
|
|
@@ -7993,7 +8090,6 @@
|
|
|
7993
8090
|
_serializer = null;
|
|
7994
8091
|
_stamp_specific_redirects = 0;
|
|
7995
8092
|
_syncFetchPayload = 0;
|
|
7996
|
-
_fallbackSender = null;
|
|
7997
8093
|
_syncUnloadSender = null;
|
|
7998
8094
|
_evtNamespace = null;
|
|
7999
8095
|
_endpointUrl = null;
|
|
@@ -8007,6 +8103,9 @@
|
|
|
8007
8103
|
_isRetryDisabled = false;
|
|
8008
8104
|
_sessionStorageUsed = null;
|
|
8009
8105
|
_namePrefix = UNDEFINED_VALUE;
|
|
8106
|
+
_disableXhr = false;
|
|
8107
|
+
_fetchKeepAlive = false;
|
|
8108
|
+
_xhrSend = null;
|
|
8010
8109
|
objDefine(_self, "_senderConfig", {
|
|
8011
8110
|
g: function () {
|
|
8012
8111
|
return objExtend({}, defaultAppInsightsChannelConfig);
|