@microsoft/applicationinsights-web-basic 3.0.4-nightly3.2309-09 → 3.0.4-nightly3.2309-11

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