@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.
Files changed (38) hide show
  1. package/browser/es5/{aib.3.0.4-nightly3.2309-08.cjs.js → aib.3.0.4-nightly3.2309-10.cjs.js} +187 -88
  2. 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
  3. 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
  4. 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
  5. package/browser/es5/{aib.3.0.4-nightly3.2309-08.gbl.js → aib.3.0.4-nightly3.2309-10.gbl.js} +189 -90
  6. 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
  7. package/browser/es5/aib.3.0.4-nightly3.2309-10.gbl.min.js +6 -0
  8. 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
  9. package/browser/es5/aib.3.0.4-nightly3.2309-10.integrity.json +66 -0
  10. package/browser/es5/{aib.3.0.4-nightly3.2309-08.js → aib.3.0.4-nightly3.2309-10.js} +189 -90
  11. package/browser/es5/{aib.3.0.4-nightly3.2309-08.js.map → aib.3.0.4-nightly3.2309-10.js.map} +1 -1
  12. package/browser/es5/aib.3.0.4-nightly3.2309-10.min.js +6 -0
  13. 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
  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-08.gbl.min.js +0 -6
  37. package/browser/es5/aib.3.0.4-nightly3.2309-08.integrity.json +0 -66
  38. package/browser/es5/aib.3.0.4-nightly3.2309-08.min.js +0 -6
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "aib",
3
+ "version": "3.0.4-nightly3.2309-10",
4
+ "ext": {
5
+ "@cjs.js": {
6
+ "file": "aib.3.0.4-nightly3.2309-10.cjs.js",
7
+ "type": "text/javascript; charset=utf-8",
8
+ "integrity": "sha256-WLLn+JMDvIaNxZb+WJDXnJnm8TmNx4WquIRz8ugASkk= sha384-dH8l5G4U8tHy1ySQdKPAlX+n6bc9ler64cl+A2fJgnOmAK1TPhO+ojveg968JHKc sha512-YMsWuJVAZMu9c2Fwq5keERi8mpiSXWDyrOn4/0vZ2De9Ytd/43DQNK3VyeIYoV0ekFxi8a32XMX9pFanGYzJ5w==",
9
+ "hashes": {
10
+ "sha256": "WLLn+JMDvIaNxZb+WJDXnJnm8TmNx4WquIRz8ugASkk=",
11
+ "sha384": "dH8l5G4U8tHy1ySQdKPAlX+n6bc9ler64cl+A2fJgnOmAK1TPhO+ojveg968JHKc",
12
+ "sha512": "YMsWuJVAZMu9c2Fwq5keERi8mpiSXWDyrOn4/0vZ2De9Ytd/43DQNK3VyeIYoV0ekFxi8a32XMX9pFanGYzJ5w=="
13
+ }
14
+ },
15
+ "@cjs.min.js": {
16
+ "file": "aib.3.0.4-nightly3.2309-10.cjs.min.js",
17
+ "type": "text/javascript; charset=utf-8",
18
+ "integrity": "sha256-I8wLIP1MkFs3kQLMDbX6j67VPB9UN5163uluO+7stM0= sha384-3srABTHKdXwtUuUe9aAsJquvcxlwERqG91fYj1kJIY8i5SKekKlFb1lOBqgwypyJ sha512-YUn9vgZj4g+eAsagXTRMHxVl+frdt87WWra6LuC7/NtF44HS8wlCie1Gnu2RgmyAB/4Vw02TcqQxCLFBbxXMRA==",
19
+ "hashes": {
20
+ "sha256": "I8wLIP1MkFs3kQLMDbX6j67VPB9UN5163uluO+7stM0=",
21
+ "sha384": "3srABTHKdXwtUuUe9aAsJquvcxlwERqG91fYj1kJIY8i5SKekKlFb1lOBqgwypyJ",
22
+ "sha512": "YUn9vgZj4g+eAsagXTRMHxVl+frdt87WWra6LuC7/NtF44HS8wlCie1Gnu2RgmyAB/4Vw02TcqQxCLFBbxXMRA=="
23
+ }
24
+ },
25
+ "@gbl.js": {
26
+ "file": "aib.3.0.4-nightly3.2309-10.gbl.js",
27
+ "type": "text/javascript; charset=utf-8",
28
+ "integrity": "sha256-49elP1REcETzGl2IKJvrqWCy917yT28I3hTlR3SV8cA= sha384-IF9SWf5tJvctvBjuT044tOVNL7JwCuoTgmkRaSS9HRnzeEtzQF8AenF00NJCRPgc sha512-zC91kduaz4hHewwvooHhDNDeRZUtH/mhfKN4eCFB0eP2QmcW0KML2j417M5UkvI+fDM/eiuQhMuVEVQrNfIBbQ==",
29
+ "hashes": {
30
+ "sha256": "49elP1REcETzGl2IKJvrqWCy917yT28I3hTlR3SV8cA=",
31
+ "sha384": "IF9SWf5tJvctvBjuT044tOVNL7JwCuoTgmkRaSS9HRnzeEtzQF8AenF00NJCRPgc",
32
+ "sha512": "zC91kduaz4hHewwvooHhDNDeRZUtH/mhfKN4eCFB0eP2QmcW0KML2j417M5UkvI+fDM/eiuQhMuVEVQrNfIBbQ=="
33
+ }
34
+ },
35
+ "@gbl.min.js": {
36
+ "file": "aib.3.0.4-nightly3.2309-10.gbl.min.js",
37
+ "type": "text/javascript; charset=utf-8",
38
+ "integrity": "sha256-GW/RE5KEpXu8yUETx81k8ME2yMn2jAFNlt0qzE/IX8U= sha384-ZcH4xfpnkuTZQ93wrJq8NuVD/LpHUL8Mh5aVsm42I2dXWIYIsfnug62rS7JwT1Yg sha512-V3VxswaWTg0Kfnso1BdDnLqd7jec37nKZ7GFsjvzKeikkfHcGg/4goR4yr2ekd3z7naOFs+hPABLEiAD2hvrAw==",
39
+ "hashes": {
40
+ "sha256": "GW/RE5KEpXu8yUETx81k8ME2yMn2jAFNlt0qzE/IX8U=",
41
+ "sha384": "ZcH4xfpnkuTZQ93wrJq8NuVD/LpHUL8Mh5aVsm42I2dXWIYIsfnug62rS7JwT1Yg",
42
+ "sha512": "V3VxswaWTg0Kfnso1BdDnLqd7jec37nKZ7GFsjvzKeikkfHcGg/4goR4yr2ekd3z7naOFs+hPABLEiAD2hvrAw=="
43
+ }
44
+ },
45
+ "@js": {
46
+ "file": "aib.3.0.4-nightly3.2309-10.js",
47
+ "type": "text/javascript; charset=utf-8",
48
+ "integrity": "sha256-59TnZnVjAJV+9+kfwVrR4yOaV6LpDjtVgabdZrRLozQ= sha384-KalIS6UsVMcSFW8ITBkS1jqvARYrYrxLa0pZkcoA/ZWssPC6NqwuarM50dhCdFfO sha512-8HxOFEylfRlt16yuyFYK2Sdsiwy59tULjXkJp7m3OzO5MOpIs/JOV+cLKnO/v/zyTmoGmwzn+gAJdDGUTvGEtQ==",
49
+ "hashes": {
50
+ "sha256": "59TnZnVjAJV+9+kfwVrR4yOaV6LpDjtVgabdZrRLozQ=",
51
+ "sha384": "KalIS6UsVMcSFW8ITBkS1jqvARYrYrxLa0pZkcoA/ZWssPC6NqwuarM50dhCdFfO",
52
+ "sha512": "8HxOFEylfRlt16yuyFYK2Sdsiwy59tULjXkJp7m3OzO5MOpIs/JOV+cLKnO/v/zyTmoGmwzn+gAJdDGUTvGEtQ=="
53
+ }
54
+ },
55
+ "@min.js": {
56
+ "file": "aib.3.0.4-nightly3.2309-10.min.js",
57
+ "type": "text/javascript; charset=utf-8",
58
+ "integrity": "sha256-YzlzR2MGQPNnZBS9nYOY5nHkZST11F3ptbg+65cq8l0= sha384-aTeCqG8X1+wNhNfXdkWP7gSFNfQ9EnzjsHz7W5f1RGQtox5CVgShcMnpSAAPkL/a sha512-cfvUzPclQi1nhmrXTHV5jnZ9RG1v+c4k7cJw+Q+gfMlLx4fFTujRO4bdLb2mjyx89GUDd3PsheXdQt4skJvpTA==",
59
+ "hashes": {
60
+ "sha256": "YzlzR2MGQPNnZBS9nYOY5nHkZST11F3ptbg+65cq8l0=",
61
+ "sha384": "aTeCqG8X1+wNhNfXdkWP7gSFNfQ9EnzjsHz7W5f1RGQtox5CVgShcMnpSAAPkL/a",
62
+ "sha512": "cfvUzPclQi1nhmrXTHV5jnZ9RG1v+c4k7cJw+Q+gfMlLx4fFTujRO4bdLb2mjyx89GUDd3PsheXdQt4skJvpTA=="
63
+ }
64
+ }
65
+ }
66
+ }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript Web SDK - Basic, 3.0.4-nightly3.2309-08
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) {
@@ -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_aib_3_0_4_nightly3_2309_08", msMod="__ms$mod__";
11
- var mods={}, modDetail=mods[modName]={}, ver="3.0.4-nightly3.2309-08";
10
+ var nsKey, key, nm, theExports = {}, modName = "es5_aib_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]||{});
@@ -2063,7 +2063,7 @@ function newId(maxLength) {
2063
2063
  return result;
2064
2064
  }
2065
2065
 
2066
- var version = '3.0.4-nightly3.2309-08';
2066
+ var version = '3.0.4-nightly3.2309-10';
2067
2067
  var instanceName = "." + newId(6);
2068
2068
  var _dataUid = 0;
2069
2069
  function _canAcceptData(target) {
@@ -6435,6 +6435,7 @@ var _DYN_BUFFER_OVERRIDE = "bufferOverride";
6435
6435
  var _DYN__BUFFER__KEY = "BUFFER_KEY";
6436
6436
  var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
6437
6437
  var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
6438
+ var _DYN_SEND_POST = "sendPOST";
6438
6439
  var _DYN_TRIGGER_SEND = "triggerSend";
6439
6440
  var _DYN_DIAG_LOG = "diagLog";
6440
6441
  var _DYN__SENDER = "_sender";
@@ -6442,21 +6443,22 @@ var _DYN_CUSTOM_HEADERS = "customHeaders";
6442
6443
  var _DYN_MAX_BATCH_SIZE_IN_BY1 = "maxBatchSizeInBytes";
6443
6444
  var _DYN_ONUNLOAD_DISABLE_BEA2 = "onunloadDisableBeacon";
6444
6445
  var _DYN_IS_BEACON_API_DISABL3 = "isBeaconApiDisabled";
6445
- var _DYN_ENABLE_SESSION_STORA4 = "enableSessionStorageBuffer";
6446
+ var _DYN_ALWAYS_USE_XHR_OVERR4 = "alwaysUseXhrOverride";
6447
+ var _DYN_ENABLE_SESSION_STORA5 = "enableSessionStorageBuffer";
6446
6448
  var _DYN__BUFFER = "_buffer";
6449
+ var _DYN_ONUNLOAD_DISABLE_FET6 = "onunloadDisableFetch";
6447
6450
  var _DYN_INSTRUMENTATION_KEY$1 = "instrumentationKey";
6448
- var _DYN_DISABLE_XHR = "disableXhr";
6449
- var _DYN_ONUNLOAD_DISABLE_FET5 = "onunloadDisableFetch";
6450
6451
  var _DYN_CONVERT_UNDEFINED = "convertUndefined";
6451
6452
  var _DYN_MAX_BATCH_INTERVAL = "maxBatchInterval";
6452
6453
  var _DYN_BASE_TYPE = "baseType";
6453
6454
  var _DYN_SAMPLE_RATE = "sampleRate";
6454
- var _DYN__XHR_READY_STATE_CHA6 = "_xhrReadyStateChange";
6455
+ var _DYN__XHR_READY_STATE_CHA7 = "_xhrReadyStateChange";
6455
6456
  var _DYN__ON_ERROR = "_onError";
6456
6457
  var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
6457
6458
  var _DYN__ON_SUCCESS = "_onSuccess";
6458
6459
  var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
6459
6460
  var _DYN_ITEMS_RECEIVED = "itemsReceived";
6461
+ var _DYN_ORI_PAYLOAD = "oriPayload";
6460
6462
  var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
6461
6463
  var _DYN_EVENTS_SEND_REQUEST = "eventsSendRequest";
6462
6464
  var _DYN_GET_SAMPLING_SCORE = "getSamplingScore";
@@ -6571,7 +6573,7 @@ function EnvelopeCreatorInit(logger, telemetryItem) {
6571
6573
  }
6572
6574
  }
6573
6575
  var EnvelopeCreator = {
6574
- Version: '3.0.4-nightly3.2309-08'
6576
+ Version: '3.0.4-nightly3.2309-10'
6575
6577
  };
6576
6578
  function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
6577
6579
  EnvelopeCreatorInit(logger, telemetryItem);
@@ -7232,6 +7234,9 @@ function _getResponseText(xhr) {
7232
7234
  }
7233
7235
  return null;
7234
7236
  }
7237
+ function isOverrideFn(httpXHROverride) {
7238
+ return httpXHROverride && httpXHROverride[_DYN_SEND_POST ];
7239
+ }
7235
7240
  var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
7236
7241
  endpointUrl: cfgDfValidate(isTruthy, DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH)
7237
7242
  },
@@ -7239,11 +7244,11 @@ var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
7239
7244
  _a[_DYN_MAX_BATCH_INTERVAL ] = 15000,
7240
7245
  _a[_DYN_MAX_BATCH_SIZE_IN_BY1 ] = 102400,
7241
7246
  _a.disableTelemetry = cfgDfBoolean(),
7242
- _a[_DYN_ENABLE_SESSION_STORA4 ] = cfgDfBoolean(true),
7247
+ _a[_DYN_ENABLE_SESSION_STORA5 ] = cfgDfBoolean(true),
7243
7248
  _a.isRetryDisabled = cfgDfBoolean(),
7244
7249
  _a[_DYN_IS_BEACON_API_DISABL3 ] = cfgDfBoolean(true),
7245
- _a[_DYN_DISABLE_XHR ] = cfgDfBoolean(),
7246
- _a[_DYN_ONUNLOAD_DISABLE_FET5 ] = cfgDfBoolean(),
7250
+ _a.disableXhr = cfgDfBoolean(),
7251
+ _a[_DYN_ONUNLOAD_DISABLE_FET6 ] = cfgDfBoolean(),
7247
7252
  _a[_DYN_ONUNLOAD_DISABLE_BEA2 ] = cfgDfBoolean(),
7248
7253
  _a[_DYN_INSTRUMENTATION_KEY$1 ] = UNDEFINED_VALUE,
7249
7254
  _a.namePrefix = UNDEFINED_VALUE,
@@ -7252,6 +7257,8 @@ var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
7252
7257
  _a[_DYN_CONVERT_UNDEFINED ] = UNDEFINED_VALUE,
7253
7258
  _a[_DYN_EVENTS_LIMIT_IN_MEM ] = 10000,
7254
7259
  _a[_DYN_BUFFER_OVERRIDE ] = false,
7260
+ _a.httpXHROverride = { isVal: isOverrideFn, v: UNDEFINED_VALUE },
7261
+ _a[_DYN_ALWAYS_USE_XHR_OVERR4 ] = cfgDfBoolean(),
7255
7262
  _a));
7256
7263
  function _chkSampling(value) {
7257
7264
  return !isNaN(value) && value > 0 && value <= 100;
@@ -7279,7 +7286,6 @@ var Sender = /** @class */ (function (_super) {
7279
7286
  var _stamp_specific_redirects;
7280
7287
  var _headers;
7281
7288
  var _syncFetchPayload = 0;
7282
- var _fallbackSender;
7283
7289
  var _syncUnloadSender;
7284
7290
  var _offlineListener;
7285
7291
  var _evtNamespace;
@@ -7297,6 +7303,10 @@ var Sender = /** @class */ (function (_super) {
7297
7303
  var _bufferOverrideUsed;
7298
7304
  var _namePrefix;
7299
7305
  var _enableSendPromise;
7306
+ var _alwaysUseCustomSend;
7307
+ var _disableXhr;
7308
+ var _fetchKeepAlive;
7309
+ var _xhrSend;
7300
7310
  dynamicProto(Sender, _this, function (_self, _base) {
7301
7311
  _initDefaults();
7302
7312
  _self.pause = function () {
@@ -7325,7 +7335,7 @@ var Sender = /** @class */ (function (_super) {
7325
7335
  };
7326
7336
  _self.onunloadFlush = function () {
7327
7337
  if (!_paused) {
7328
- if (_beaconSupported) {
7338
+ if (_beaconSupported || _alwaysUseCustomSend) {
7329
7339
  try {
7330
7340
  return _self[_DYN_TRIGGER_SEND ](true, _doUnloadSend, 2 );
7331
7341
  }
@@ -7377,8 +7387,10 @@ var Sender = /** @class */ (function (_super) {
7377
7387
  }
7378
7388
  _maxBatchSizeInBytes = senderConfig[_DYN_MAX_BATCH_SIZE_IN_BY1 ];
7379
7389
  _beaconSupported = (senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ] === false || senderConfig[_DYN_IS_BEACON_API_DISABL3 ] === false) && isBeaconsSupported();
7390
+ _alwaysUseCustomSend = senderConfig[_DYN_ALWAYS_USE_XHR_OVERR4 ];
7391
+ _disableXhr = !!senderConfig.disableXhr;
7380
7392
  var bufferOverride = senderConfig[_DYN_BUFFER_OVERRIDE ];
7381
- var canUseSessionStorage = !!senderConfig[_DYN_ENABLE_SESSION_STORA4 ] &&
7393
+ var canUseSessionStorage = !!senderConfig[_DYN_ENABLE_SESSION_STORA5 ] &&
7382
7394
  (!!bufferOverride || utlCanUseSessionStorage());
7383
7395
  var namePrefix = senderConfig.namePrefix;
7384
7396
  var shouldUpdate = (canUseSessionStorage !== _sessionStorageUsed)
@@ -7402,6 +7414,7 @@ var Sender = /** @class */ (function (_super) {
7402
7414
  _namePrefix = namePrefix;
7403
7415
  _sessionStorageUsed = canUseSessionStorage;
7404
7416
  _bufferOverrideUsed = bufferOverride;
7417
+ _fetchKeepAlive = !senderConfig[_DYN_ONUNLOAD_DISABLE_FET6 ] && isFetchSupported(true);
7405
7418
  _self._sample = new Sample(senderConfig.samplingPercentage, diagLog);
7406
7419
  _instrumentationKey = senderConfig[_DYN_INSTRUMENTATION_KEY$1 ];
7407
7420
  if (!_validateInstrumentationKey(_instrumentationKey, config)) {
@@ -7417,35 +7430,32 @@ var Sender = /** @class */ (function (_super) {
7417
7430
  _customHeaders = null;
7418
7431
  }
7419
7432
  _enableSendPromise = senderConfig.enableSendPromise;
7420
- var sendPostFunc = null;
7421
- if (!senderConfig[_DYN_DISABLE_XHR ] && useXDomainRequest()) {
7422
- sendPostFunc = _xdrSender;
7423
- }
7424
- else if (!senderConfig[_DYN_DISABLE_XHR ] && isXhrSupported()) {
7425
- sendPostFunc = _xhrSender;
7426
- }
7427
- if (!sendPostFunc && isFetchSupported()) {
7428
- sendPostFunc = _fetchSender;
7429
- }
7430
- _fallbackSender = sendPostFunc || _xhrSender;
7433
+ var customInterface = senderConfig.httpXHROverride;
7434
+ var httpInterface = null;
7435
+ var syncInterface = null;
7436
+ httpInterface = _getSenderInterface([1 , 2 ], false);
7437
+ var xhrInterface = { sendPOST: _xhrSender };
7438
+ _xhrSend = function (payload, isAsync) {
7439
+ return _doSend(xhrInterface, payload, isAsync);
7440
+ };
7431
7441
  if (!senderConfig[_DYN_IS_BEACON_API_DISABL3 ] && isBeaconsSupported()) {
7432
- sendPostFunc = _beaconSender;
7442
+ httpInterface = _getSenderInterface([3 ], false);
7433
7443
  }
7434
- _self[_DYN__SENDER ] = sendPostFunc || _xhrSender;
7435
- if (!senderConfig[_DYN_ONUNLOAD_DISABLE_FET5 ] && isFetchSupported(true)) {
7444
+ httpInterface = _alwaysUseCustomSend ? customInterface : (httpInterface || customInterface || xhrInterface);
7445
+ _self[_DYN__SENDER ] = function (payload, isAsync) {
7446
+ return _doSend(httpInterface, payload, isAsync);
7447
+ };
7448
+ if (_fetchKeepAlive) {
7436
7449
  _syncUnloadSender = _fetchKeepAliveSender;
7437
7450
  }
7438
- else if (isBeaconsSupported()) {
7439
- _syncUnloadSender = _beaconSender;
7440
- }
7441
- else if (!senderConfig[_DYN_DISABLE_XHR ] && useXDomainRequest()) {
7442
- _syncUnloadSender = _xdrSender;
7451
+ syncInterface = _alwaysUseCustomSend ? customInterface : (_getSenderInterface([3 , 1 ], true) || customInterface);
7452
+ if ((_alwaysUseCustomSend || !_syncUnloadSender) && syncInterface) {
7453
+ _syncUnloadSender = function (payload, isAsync) {
7454
+ return _doSend(syncInterface, payload, isAsync);
7455
+ };
7443
7456
  }
7444
- else if (!senderConfig[_DYN_DISABLE_XHR ] && isXhrSupported()) {
7445
- _syncUnloadSender = _xhrSender;
7446
- }
7447
- else {
7448
- _syncUnloadSender = _fallbackSender;
7457
+ if (!_syncUnloadSender) {
7458
+ _syncUnloadSender = _xhrSend;
7449
7459
  }
7450
7460
  _disableTelemetry = senderConfig.disableTelemetry;
7451
7461
  _convertUndefined = senderConfig[_DYN_CONVERT_UNDEFINED ] || UNDEFINED_VALUE;
@@ -7517,7 +7527,7 @@ var Sender = /** @class */ (function (_super) {
7517
7527
  }
7518
7528
  _self.processNext(telemetryItem, itemCtx);
7519
7529
  };
7520
- _self[_DYN__XHR_READY_STATE_CHA6 ] = function (xhr, payload, countOfItemsInPayload) {
7530
+ _self[_DYN__XHR_READY_STATE_CHA7 ] = function (xhr, payload, countOfItemsInPayload) {
7521
7531
  if (xhr.readyState === 4) {
7522
7532
  _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, _formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
7523
7533
  }
@@ -7613,6 +7623,73 @@ var Sender = /** @class */ (function (_super) {
7613
7623
  function _isSampledIn(envelope) {
7614
7624
  return _self._sample.isSampledIn(envelope);
7615
7625
  }
7626
+ function _getSenderInterface(transports, syncSupport) {
7627
+ var _a;
7628
+ var transportType = null;
7629
+ var sendPostFunc = null;
7630
+ var lp = 0;
7631
+ while (sendPostFunc == null && lp < transports[_DYN_LENGTH ]) {
7632
+ transportType = transports[lp];
7633
+ if (!_disableXhr && transportType === 1 ) {
7634
+ if (useXDomainRequest()) {
7635
+ sendPostFunc = _xdrSender;
7636
+ }
7637
+ else if (isXhrSupported()) {
7638
+ sendPostFunc = _xhrSender;
7639
+ }
7640
+ }
7641
+ else if (transportType === 2 && isFetchSupported(syncSupport)) {
7642
+ sendPostFunc = _fetchSender;
7643
+ }
7644
+ else if (isBeaconsSupported() && transportType === 3 ) {
7645
+ sendPostFunc = _beaconSender;
7646
+ }
7647
+ lp++;
7648
+ }
7649
+ if (sendPostFunc) {
7650
+ return _a = {},
7651
+ _a[_DYN_SEND_POST ] = sendPostFunc,
7652
+ _a;
7653
+ }
7654
+ return null;
7655
+ }
7656
+ function _getOnComplete(payload, status, headers, response) {
7657
+ if (status === 200 && payload) {
7658
+ _self._onSuccess(payload, payload[_DYN_LENGTH ]);
7659
+ }
7660
+ response && _self[_DYN__ON_ERROR ](payload, response);
7661
+ }
7662
+ function _doSend(sendInterface, payload, isAsync) {
7663
+ var onComplete = function (status, headers, response) {
7664
+ return _getOnComplete(payload, status, headers, response);
7665
+ };
7666
+ var payloadData = _getPayload(payload);
7667
+ var sendPostFunc = sendInterface && sendInterface[_DYN_SEND_POST ];
7668
+ if (sendPostFunc && payloadData) {
7669
+ _self._buffer[_DYN_MARK_AS_SENT ](payload);
7670
+ return sendPostFunc(payloadData, onComplete, !isAsync);
7671
+ }
7672
+ return null;
7673
+ }
7674
+ function _getPayload(payload) {
7675
+ var _a;
7676
+ if (isArray(payload) && payload[_DYN_LENGTH ] > 0) {
7677
+ var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
7678
+ var payloadData = (_a = {},
7679
+ _a[_DYN_DATA ] = batch,
7680
+ _a.urlString = _endpointUrl,
7681
+ _a.headers = _headers,
7682
+ _a.disableXhrSync = _disableXhr,
7683
+ _a.disableFetchKeepAlive = !_fetchKeepAlive,
7684
+ _a[_DYN_ORI_PAYLOAD ] = payload,
7685
+ _a);
7686
+ return payloadData;
7687
+ }
7688
+ return null;
7689
+ }
7690
+ function _fetchSender(payload, oncomplete, sync) {
7691
+ return _doFetchSender(payload, oncomplete, false);
7692
+ }
7616
7693
  function _checkMaxSize(incomingPayload) {
7617
7694
  var incomingSize = incomingPayload ? incomingPayload[_DYN_LENGTH ] : 0;
7618
7695
  if ((_self[_DYN__BUFFER ].size() + incomingSize) > _maxBatchSizeInBytes) {
@@ -7686,45 +7763,60 @@ var Sender = /** @class */ (function (_super) {
7686
7763
  }
7687
7764
  return false;
7688
7765
  }
7766
+ function _doOnComplete(oncomplete, status, headers, response) {
7767
+ try {
7768
+ oncomplete(status, headers, response);
7769
+ }
7770
+ catch (e) {
7771
+ }
7772
+ }
7689
7773
  function _doUnloadSend(payload, isAsync) {
7774
+ var onComplete = function (status, headers, response) {
7775
+ return _getOnComplete(payload, status, headers, response);
7776
+ };
7690
7777
  if (_syncUnloadSender) {
7691
7778
  _syncUnloadSender(payload, false);
7692
7779
  }
7693
7780
  else {
7694
- _beaconSender(payload);
7781
+ var payloadData = _getPayload(payload);
7782
+ _beaconSender(payloadData, onComplete);
7695
7783
  }
7696
7784
  }
7697
- function _doBeaconSend(payload) {
7785
+ function _doBeaconSend(payload, oncomplete) {
7698
7786
  var nav = getNavigator();
7699
- var buffer = _self[_DYN__BUFFER ];
7700
7787
  var url = _endpointUrl;
7701
- var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
7702
- var plainTextBatch = new Blob([batch], { type: "text/plain;charset=UTF-8" });
7788
+ var plainTextBatch = new Blob([payload], { type: "text/plain;charset=UTF-8" });
7703
7789
  var queued = nav.sendBeacon(url, plainTextBatch);
7704
7790
  if (queued) {
7705
- buffer[_DYN_MARK_AS_SENT ](payload);
7706
- _self._onSuccess(payload, payload[_DYN_LENGTH ]);
7791
+ oncomplete(200, {}, payload);
7707
7792
  }
7708
7793
  return queued;
7709
7794
  }
7710
- function _beaconSender(payload, isAsync) {
7711
- if (isArray(payload) && payload[_DYN_LENGTH ] > 0) {
7712
- if (!_doBeaconSend(payload)) {
7795
+ function _beaconSender(payload, oncomplete, sync) {
7796
+ var internalPayload = payload;
7797
+ var data = internalPayload && internalPayload[_DYN_DATA ];
7798
+ if (isString(data) && data[_DYN_LENGTH ] > 0) {
7799
+ if (!_doBeaconSend(data, oncomplete)) {
7713
7800
  var droppedPayload = [];
7714
- for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
7715
- var thePayload = payload[lp];
7716
- if (!_doBeaconSend([thePayload])) {
7717
- droppedPayload[_DYN_PUSH ](thePayload);
7801
+ var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
7802
+ if (oriPayload[_DYN_LENGTH ] > 0) {
7803
+ for (var lp = 0; lp < data[_DYN_LENGTH ]; lp++) {
7804
+ var thePayload = payload[lp];
7805
+ var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](thePayload);
7806
+ if (!_doBeaconSend(batch, oncomplete)) {
7807
+ droppedPayload[_DYN_PUSH ](thePayload);
7808
+ }
7718
7809
  }
7719
7810
  }
7720
7811
  if (droppedPayload[_DYN_LENGTH ] > 0) {
7721
- _fallbackSender && _fallbackSender(droppedPayload, true);
7812
+ _xhrSend && _xhrSend(droppedPayload, true);
7722
7813
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
7723
7814
  }
7724
7815
  }
7725
7816
  }
7726
7817
  }
7727
- function _xhrSender(payload, isAsync) {
7818
+ function _xhrSender(payload, oncomplete, sync) {
7819
+ var internalPayload = payload;
7728
7820
  var thePromise;
7729
7821
  var resolveFunc;
7730
7822
  var rejectFunc;
@@ -7735,7 +7827,7 @@ var Sender = /** @class */ (function (_super) {
7735
7827
  }
7736
7828
  catch (e) {
7737
7829
  }
7738
- xhr.open("POST", endPointUrl, isAsync);
7830
+ xhr.open("POST", endPointUrl, !sync);
7739
7831
  xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
7740
7832
  if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
7741
7833
  xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
@@ -7744,51 +7836,52 @@ var Sender = /** @class */ (function (_super) {
7744
7836
  xhr[_DYN_SET_REQUEST_HEADER ](headerName, _headers[headerName]);
7745
7837
  });
7746
7838
  xhr.onreadystatechange = function () {
7747
- _self._xhrReadyStateChange(xhr, payload, payload[_DYN_LENGTH ]);
7839
+ var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
7840
+ _self._xhrReadyStateChange(xhr, oriPayload, oriPayload[_DYN_LENGTH ]);
7748
7841
  if (xhr.readyState === 4) {
7749
7842
  resolveFunc && resolveFunc(true);
7750
7843
  }
7751
7844
  };
7752
7845
  xhr.onerror = function (event) {
7753
- _self[_DYN__ON_ERROR ](payload, _formatErrorMessageXhr(xhr), event);
7846
+ _doOnComplete(oncomplete, 400, {}, _formatErrorMessageXhr(xhr));
7754
7847
  rejectFunc && rejectFunc(event);
7755
7848
  };
7756
- if (isAsync && _enableSendPromise) {
7849
+ if (!sync && _enableSendPromise) {
7757
7850
  thePromise = createPromise(function (resolve, reject) {
7758
7851
  resolveFunc = resolve;
7759
7852
  rejectFunc = reject;
7760
7853
  });
7761
7854
  }
7762
- var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
7763
- xhr.send(batch);
7764
- _self._buffer[_DYN_MARK_AS_SENT ](payload);
7855
+ xhr.send(payload[_DYN_DATA ]);
7765
7856
  return thePromise;
7766
7857
  }
7767
7858
  function _fetchKeepAliveSender(payload, isAsync) {
7859
+ var onComplete = function (status, headers, response) {
7860
+ return _getOnComplete(payload, status, headers, response);
7861
+ };
7768
7862
  if (isArray(payload)) {
7769
7863
  var payloadSize = payload[_DYN_LENGTH ];
7770
7864
  for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
7771
7865
  payloadSize += payload[lp][_DYN_LENGTH ];
7772
7866
  }
7867
+ var payloadData = _getPayload(payload);
7773
7868
  if ((_syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
7774
- _doFetchSender(payload, false);
7869
+ _doFetchSender(payloadData, onComplete, true);
7775
7870
  }
7776
7871
  else if (isBeaconsSupported()) {
7777
- _beaconSender(payload);
7872
+ _beaconSender(payloadData, onComplete);
7778
7873
  }
7779
7874
  else {
7780
- _fallbackSender && _fallbackSender(payload, true);
7875
+ _xhrSend && _xhrSend(payload, true);
7781
7876
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with xhrSender.");
7782
7877
  }
7783
7878
  }
7784
7879
  }
7785
- function _fetchSender(payload, isAsync) {
7786
- return _doFetchSender(payload, true);
7787
- }
7788
- function _doFetchSender(payload, isAsync) {
7880
+ function _doFetchSender(payload, oncomplete, sync) {
7789
7881
  var _a;
7790
7882
  var endPointUrl = _endpointUrl;
7791
- var batch = _self._buffer[_DYN_BATCH_PAYLOADS ](payload);
7883
+ var internalPayload = payload;
7884
+ var batch = internalPayload[_DYN_DATA ];
7792
7885
  var plainTextBatch = new Blob([batch], { type: "application/json" });
7793
7886
  var thePromise;
7794
7887
  var resolveFunc;
@@ -7811,7 +7904,7 @@ var Sender = /** @class */ (function (_super) {
7811
7904
  _a[DisabledPropertyName] = true
7812
7905
  ,
7813
7906
  _a);
7814
- if (!isAsync) {
7907
+ if (sync) {
7815
7908
  init.keepalive = true;
7816
7909
  ignoreResponse = true;
7817
7910
  _syncFetchPayload += batchLength;
@@ -7822,8 +7915,7 @@ var Sender = /** @class */ (function (_super) {
7822
7915
  }
7823
7916
  catch (e) {
7824
7917
  }
7825
- _self._buffer[_DYN_MARK_AS_SENT ](payload);
7826
- if (isAsync && _enableSendPromise) {
7918
+ if (!sync && _enableSendPromise) {
7827
7919
  thePromise = createPromise(function (resolve, reject) {
7828
7920
  resolveFunc = resolve;
7829
7921
  rejectFunc = reject;
@@ -7831,7 +7923,7 @@ var Sender = /** @class */ (function (_super) {
7831
7923
  }
7832
7924
  try {
7833
7925
  doAwaitResponse(fetch(request), function (result) {
7834
- if (!isAsync) {
7926
+ if (sync) {
7835
7927
  _syncFetchPayload -= batchLength;
7836
7928
  batchLength = 0;
7837
7929
  }
@@ -7840,18 +7932,19 @@ var Sender = /** @class */ (function (_super) {
7840
7932
  if (!result.rejected) {
7841
7933
  var response_1 = result.value;
7842
7934
  if (!response_1.ok) {
7843
- _self[_DYN__ON_ERROR ](payload, response_1.statusText);
7935
+ _doOnComplete(oncomplete, 400, {}, response_1.statusText);
7844
7936
  resolveFunc && resolveFunc(false);
7845
7937
  }
7846
7938
  else {
7847
7939
  doAwaitResponse(response_1.text(), function (resp) {
7848
- _checkResponsStatus(response_1.status, payload, response_1.url, payload[_DYN_LENGTH ], response_1.statusText, resp.value || "");
7940
+ var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
7941
+ _checkResponsStatus(response_1.status, oriPayload, response_1.url, oriPayload[_DYN_LENGTH ], response_1.statusText, resp.value || "");
7849
7942
  resolveFunc && resolveFunc(true);
7850
7943
  });
7851
7944
  }
7852
7945
  }
7853
7946
  else {
7854
- _self[_DYN__ON_ERROR ](payload, result.reason && result.reason.message);
7947
+ _doOnComplete(oncomplete, 400, {}, result.reason && result.reason.message);
7855
7948
  rejectFunc && rejectFunc(result.reason);
7856
7949
  }
7857
7950
  }
@@ -7859,13 +7952,13 @@ var Sender = /** @class */ (function (_super) {
7859
7952
  }
7860
7953
  catch (e) {
7861
7954
  if (!responseHandled) {
7862
- _self[_DYN__ON_ERROR ](payload, dumpObj(e));
7955
+ _doOnComplete(oncomplete, 400, {}, dumpObj(e));
7863
7956
  rejectFunc && rejectFunc(e);
7864
7957
  }
7865
7958
  }
7866
7959
  if (ignoreResponse && !responseHandled) {
7867
7960
  responseHandled = true;
7868
- _self._onSuccess(payload, payload[_DYN_LENGTH ]);
7961
+ _doOnComplete(oncomplete, 200, {});
7869
7962
  resolveFunc && resolveFunc(true);
7870
7963
  }
7871
7964
  return thePromise;
@@ -7948,24 +8041,28 @@ var Sender = /** @class */ (function (_super) {
7948
8041
  }
7949
8042
  return message;
7950
8043
  }
7951
- function _xdrSender(payload, isAsync) {
7952
- var buffer = _self[_DYN__BUFFER ];
8044
+ function _xdrSender(payload, oncomplete, sync) {
8045
+ var internalPayload = payload;
7953
8046
  var _window = getWindow();
7954
8047
  var xdr = new XDomainRequest();
7955
- xdr.onload = function () { return _self._xdrOnLoad(xdr, payload); };
7956
- xdr.onerror = function (event) { return _self[_DYN__ON_ERROR ](payload, _formatErrorMessageXdr(xdr), event); };
8048
+ var data = internalPayload[_DYN_DATA ];
8049
+ xdr.onload = function () {
8050
+ var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
8051
+ _self._xdrOnLoad(xdr, oriPayload);
8052
+ };
8053
+ xdr.onerror = function () {
8054
+ _doOnComplete(oncomplete, 400, {}, _formatErrorMessageXdr(xdr));
8055
+ };
7957
8056
  var hostingProtocol = _window && _window.location && _window.location.protocol || "";
7958
8057
  if (_endpointUrl.lastIndexOf(hostingProtocol, 0) !== 0) {
7959
8058
  _throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " +
7960
8059
  "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.");
7961
- buffer[_DYN_CLEAR ]();
8060
+ _self._buffer[_DYN_CLEAR ]();
7962
8061
  return;
7963
8062
  }
7964
8063
  var endpointUrl = _endpointUrl.replace(/^(https?:)/, "");
7965
8064
  xdr.open("POST", endpointUrl);
7966
- var batch = buffer[_DYN_BATCH_PAYLOADS ](payload);
7967
- xdr.send(batch);
7968
- buffer[_DYN_MARK_AS_SENT ](payload);
8065
+ xdr.send(data);
7969
8066
  }
7970
8067
  function _formatErrorMessageXdr(xdr, message) {
7971
8068
  if (xdr) {
@@ -8015,7 +8112,6 @@ var Sender = /** @class */ (function (_super) {
8015
8112
  _serializer = null;
8016
8113
  _stamp_specific_redirects = 0;
8017
8114
  _syncFetchPayload = 0;
8018
- _fallbackSender = null;
8019
8115
  _syncUnloadSender = null;
8020
8116
  _evtNamespace = null;
8021
8117
  _endpointUrl = null;
@@ -8029,6 +8125,9 @@ var Sender = /** @class */ (function (_super) {
8029
8125
  _isRetryDisabled = false;
8030
8126
  _sessionStorageUsed = null;
8031
8127
  _namePrefix = UNDEFINED_VALUE;
8128
+ _disableXhr = false;
8129
+ _fetchKeepAlive = false;
8130
+ _xhrSend = null;
8032
8131
  objDefine(_self, "_senderConfig", {
8033
8132
  g: function () {
8034
8133
  return objExtend({}, defaultAppInsightsChannelConfig);
@@ -8116,4 +8215,4 @@ exports.proxyFunctions = proxyFunctions;
8116
8215
  exports.throwError = throwError;
8117
8216
 
8118
8217
  }));
8119
- //# sourceMappingURL=aib.3.0.4-nightly3.2309-08.js.map
8218
+ //# sourceMappingURL=aib.3.0.4-nightly3.2309-10.js.map