@microsoft/applicationinsights-common 3.1.1-nightly3.2403-01 → 3.1.1-nightly3.2403-03

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 (111) hide show
  1. package/browser/es5/applicationinsights-common.cjs.js +876 -29
  2. package/browser/es5/applicationinsights-common.cjs.js.map +1 -1
  3. package/browser/es5/applicationinsights-common.cjs.min.js +2 -2
  4. package/browser/es5/applicationinsights-common.cjs.min.js.map +1 -1
  5. package/browser/es5/applicationinsights-common.gbl.js +878 -31
  6. package/browser/es5/applicationinsights-common.gbl.js.map +1 -1
  7. package/browser/es5/applicationinsights-common.gbl.min.js +2 -2
  8. package/browser/es5/applicationinsights-common.gbl.min.js.map +1 -1
  9. package/browser/es5/applicationinsights-common.integrity.json +25 -25
  10. package/browser/es5/applicationinsights-common.js +878 -31
  11. package/browser/es5/applicationinsights-common.js.map +1 -1
  12. package/browser/es5/applicationinsights-common.min.js +2 -2
  13. package/browser/es5/applicationinsights-common.min.js.map +1 -1
  14. package/dist/es5/applicationinsights-common.js +876 -29
  15. package/dist/es5/applicationinsights-common.js.map +1 -1
  16. package/dist/es5/applicationinsights-common.min.js +2 -2
  17. package/dist/es5/applicationinsights-common.min.js.map +1 -1
  18. package/dist-es5/ConnectionStringParser.js +5 -5
  19. package/dist-es5/ConnectionStringParser.js.map +1 -1
  20. package/dist-es5/Constants.js +1 -1
  21. package/dist-es5/DomHelperFuncs.js +1 -1
  22. package/dist-es5/Enums.js +1 -1
  23. package/dist-es5/HelperFuncs.js +1 -1
  24. package/dist-es5/Interfaces/ConnectionString.js +1 -1
  25. package/dist-es5/Interfaces/Context/IApplication.js +1 -1
  26. package/dist-es5/Interfaces/Context/IDevice.js +1 -1
  27. package/dist-es5/Interfaces/Context/IInternal.js +1 -1
  28. package/dist-es5/Interfaces/Context/ILocation.js +1 -1
  29. package/dist-es5/Interfaces/Context/IOperatingSystem.js +1 -1
  30. package/dist-es5/Interfaces/Context/ISample.js +1 -1
  31. package/dist-es5/Interfaces/Context/ISession.js +1 -1
  32. package/dist-es5/Interfaces/Context/ISessionManager.js +1 -1
  33. package/dist-es5/Interfaces/Context/ITelemetryTrace.js +1 -1
  34. package/dist-es5/Interfaces/Context/IUser.js +1 -1
  35. package/dist-es5/Interfaces/Context/IWeb.js +1 -1
  36. package/dist-es5/Interfaces/Contracts/AvailabilityData.js +1 -1
  37. package/dist-es5/Interfaces/Contracts/ContextTagKeys.js +1 -1
  38. package/dist-es5/Interfaces/Contracts/DataPointType.js +1 -1
  39. package/dist-es5/Interfaces/Contracts/DependencyKind.js +1 -1
  40. package/dist-es5/Interfaces/Contracts/DependencySourceType.js +1 -1
  41. package/dist-es5/Interfaces/Contracts/IBase.js +1 -1
  42. package/dist-es5/Interfaces/Contracts/IData.js +1 -1
  43. package/dist-es5/Interfaces/Contracts/IDataPoint.js +1 -1
  44. package/dist-es5/Interfaces/Contracts/IDomain.js +1 -1
  45. package/dist-es5/Interfaces/Contracts/IEnvelope.js +1 -1
  46. package/dist-es5/Interfaces/Contracts/IEventData.js +1 -1
  47. package/dist-es5/Interfaces/Contracts/IExceptionData.js +1 -1
  48. package/dist-es5/Interfaces/Contracts/IExceptionDetails.js +1 -1
  49. package/dist-es5/Interfaces/Contracts/IMessageData.js +1 -1
  50. package/dist-es5/Interfaces/Contracts/IMetricData.js +1 -1
  51. package/dist-es5/Interfaces/Contracts/IPageViewData.js +1 -1
  52. package/dist-es5/Interfaces/Contracts/IPageViewPerfData.js +1 -1
  53. package/dist-es5/Interfaces/Contracts/IRemoteDependencyData.js +1 -1
  54. package/dist-es5/Interfaces/Contracts/IStackFrame.js +1 -1
  55. package/dist-es5/Interfaces/Contracts/RequestData.js +1 -1
  56. package/dist-es5/Interfaces/Contracts/SeverityLevel.js +1 -1
  57. package/dist-es5/Interfaces/IAppInsights.js +1 -1
  58. package/dist-es5/Interfaces/IConfig.js +1 -1
  59. package/dist-es5/Interfaces/ICorrelationConfig.js +1 -1
  60. package/dist-es5/Interfaces/IDependencyTelemetry.js +1 -1
  61. package/dist-es5/Interfaces/IEventTelemetry.js +1 -1
  62. package/dist-es5/Interfaces/IExceptionTelemetry.js +1 -1
  63. package/dist-es5/Interfaces/IMetricTelemetry.js +1 -1
  64. package/dist-es5/Interfaces/IPageViewPerformanceTelemetry.js +1 -1
  65. package/dist-es5/Interfaces/IPageViewTelemetry.js +1 -1
  66. package/dist-es5/Interfaces/IPartC.js +1 -1
  67. package/dist-es5/Interfaces/IPropertiesPlugin.js +1 -1
  68. package/dist-es5/Interfaces/IRequestContext.js +1 -1
  69. package/dist-es5/Interfaces/ISenderPostManager.js +6 -0
  70. package/dist-es5/Interfaces/ISenderPostManager.js.map +1 -0
  71. package/dist-es5/Interfaces/IStorageBuffer.js +1 -1
  72. package/dist-es5/Interfaces/ITelemetryContext.js +1 -1
  73. package/dist-es5/Interfaces/IThrottleMgr.js +1 -1
  74. package/dist-es5/Interfaces/ITraceTelemetry.js +1 -1
  75. package/dist-es5/Interfaces/IXDomainRequest.js +6 -0
  76. package/dist-es5/Interfaces/IXDomainRequest.js.map +1 -0
  77. package/dist-es5/Interfaces/PartAExtensions.js +1 -1
  78. package/dist-es5/Interfaces/Telemetry/IEnvelope.js +1 -1
  79. package/dist-es5/Interfaces/Telemetry/ISerializable.js +1 -1
  80. package/dist-es5/Offline.js +1 -1
  81. package/dist-es5/RequestResponseHeaders.js +1 -1
  82. package/dist-es5/SenderPostManager.js +456 -0
  83. package/dist-es5/SenderPostManager.js.map +1 -0
  84. package/dist-es5/StorageHelperFuncs.js +1 -1
  85. package/dist-es5/Telemetry/Common/Data.js +1 -1
  86. package/dist-es5/Telemetry/Common/DataPoint.js +1 -1
  87. package/dist-es5/Telemetry/Common/DataSanitizer.js +1 -1
  88. package/dist-es5/Telemetry/Common/Envelope.js +3 -3
  89. package/dist-es5/Telemetry/Common/Envelope.js.map +1 -1
  90. package/dist-es5/Telemetry/Event.js +1 -1
  91. package/dist-es5/Telemetry/Exception.js +4 -4
  92. package/dist-es5/Telemetry/Exception.js.map +1 -1
  93. package/dist-es5/Telemetry/Metric.js +1 -1
  94. package/dist-es5/Telemetry/PageView.js +1 -1
  95. package/dist-es5/Telemetry/PageViewPerformance.js +1 -1
  96. package/dist-es5/Telemetry/RemoteDependencyData.js +3 -3
  97. package/dist-es5/Telemetry/RemoteDependencyData.js.map +1 -1
  98. package/dist-es5/Telemetry/Trace.js +1 -1
  99. package/dist-es5/TelemetryItemCreator.js +3 -3
  100. package/dist-es5/TelemetryItemCreator.js.map +1 -1
  101. package/dist-es5/ThrottleMgr.js +1 -1
  102. package/dist-es5/UrlHelperFuncs.js +1 -1
  103. package/dist-es5/Util.js +57 -4
  104. package/dist-es5/Util.js.map +1 -1
  105. package/dist-es5/__DynamicConstants.js +10 -4
  106. package/dist-es5/__DynamicConstants.js.map +1 -1
  107. package/dist-es5/applicationinsights-common.js +3 -2
  108. package/dist-es5/applicationinsights-common.js.map +1 -1
  109. package/package.json +4 -3
  110. package/types/applicationinsights-common.d.ts +173 -1
  111. package/types/applicationinsights-common.namespaced.d.ts +205 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Common, 3.1.1-nightly3.2403-01
2
+ * Application Insights JavaScript SDK - Common, 3.1.1-nightly3.2403-03
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -86,7 +86,12 @@
86
86
  return !!value && typeof value === OBJECT;
87
87
  }
88
88
  var isArray = ArrCls.isArray;
89
+ var isNumber = ( /*#__PURE__*/_createIs(NUMBER));
89
90
  var isError = ( /*#__PURE__*/_createObjIs("Error"));
91
+ /*#__NO_SIDE_EFFECTS__*/
92
+ function isPromiseLike(value) {
93
+ return !!(value && value.then && isFunction(value.then));
94
+ }
90
95
 
91
96
  var objGetOwnPropertyDescriptor = ObjClass$1.getOwnPropertyDescriptor;
92
97
 
@@ -158,6 +163,10 @@
158
163
  return _createKeyValueMap(values, 1 , 0 , objDeepFreeze);
159
164
  }
160
165
  /*#__NO_SIDE_EFFECTS__*/
166
+ function createEnumKeyMap(values) {
167
+ return _createKeyValueMap(values, 0 , 0 , objDeepFreeze);
168
+ }
169
+ /*#__NO_SIDE_EFFECTS__*/
161
170
  function createSimpleMap(values) {
162
171
  var mapClass = {};
163
172
  objForEachKey(values, function (key, value) {
@@ -171,6 +180,22 @@
171
180
  return createSimpleMap(values);
172
181
  }
173
182
 
183
+ var _wellKnownSymbolMap = /*#__PURE__*/ createEnumKeyMap({
184
+ asyncIterator: 0 ,
185
+ hasInstance: 1 ,
186
+ isConcatSpreadable: 2 ,
187
+ iterator: 3 ,
188
+ match: 4 ,
189
+ matchAll: 5 ,
190
+ replace: 6 ,
191
+ search: 7 ,
192
+ species: 8 ,
193
+ split: 9 ,
194
+ toPrimitive: 10 ,
195
+ toStringTag: 11 ,
196
+ unscopables: 12
197
+ });
198
+
174
199
  var asString = StrCls;
175
200
 
176
201
  var GLOBAL_CONFIG_KEY = "__tsUtils$gblCfg";
@@ -273,6 +298,7 @@
273
298
  }
274
299
  return _polySymbols;
275
300
  }
301
+ var _wellKnownSymbolCache;
276
302
  /*#__NO_SIDE_EFFECTS__*/
277
303
  function polyNewSymbol(description) {
278
304
  var theSymbol = {
@@ -294,6 +320,16 @@
294
320
  }
295
321
  return registry.k[key];
296
322
  }
323
+ /*#__NO_SIDE_EFFECTS__*/
324
+ function polyGetKnownSymbol(name) {
325
+ !_wellKnownSymbolCache && (_wellKnownSymbolCache = {});
326
+ var result;
327
+ var knownName = _wellKnownSymbolMap[name];
328
+ if (knownName) {
329
+ result = _wellKnownSymbolCache[knownName] = _wellKnownSymbolCache[knownName] || polyNewSymbol(SYMBOL + "." + knownName);
330
+ }
331
+ return result;
332
+ }
297
333
 
298
334
  var propMap = {
299
335
  e: "enumerable",
@@ -371,6 +407,7 @@
371
407
  var _cachedWindow;
372
408
  var _cachedDocument;
373
409
  var _cachedNavigator;
410
+ var _isNode;
374
411
  /*#__NO_SIDE_EFFECTS__*/
375
412
  function lazySafeGetInst(name) {
376
413
  return getLazy(function () { return safe((getInst), [name]).v || UNDEF_VALUE; });
@@ -418,6 +455,10 @@
418
455
  (!_cachedNavigator || _globalLazyTestHooks.lzy) && (_cachedNavigator = createCachedValue(safe((getInst), ["navigator"]).v));
419
456
  return _cachedNavigator.v;
420
457
  }
458
+ function isNode() {
459
+ !_isNode && (_isNode = createCachedValue(!!safe(function () { return (process && (process.versions || {}).node); }).v));
460
+ return _isNode.v;
461
+ }
421
462
 
422
463
  var _symbol;
423
464
  var _symbolFor;
@@ -428,6 +469,23 @@
428
469
  }
429
470
  }
430
471
  /*#__NO_SIDE_EFFECTS__*/
472
+ function hasSymbol() {
473
+ return !!getSymbol();
474
+ }
475
+ /*#__NO_SIDE_EFFECTS__*/
476
+ function getSymbol() {
477
+ !_globalLazyTestHooks && _initTestHooks();
478
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
479
+ return _symbol.v;
480
+ }
481
+ /*#__NO_SIDE_EFFECTS__*/
482
+ function getKnownSymbol(name, noPoly) {
483
+ var knownName = _wellKnownSymbolMap[name];
484
+ !_globalLazyTestHooks && _initTestHooks();
485
+ (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
486
+ return _symbol.v ? _symbol.v[knownName || name] : (!noPoly ? polyGetKnownSymbol(name) : UNDEF_VALUE);
487
+ }
488
+ /*#__NO_SIDE_EFFECTS__*/
431
489
  function newSymbol(description, noPoly) {
432
490
  !_globalLazyTestHooks && _initTestHooks();
433
491
  (!_symbol || _globalLazyTestHooks.lzy) && _initSymbol();
@@ -459,6 +517,8 @@
459
517
 
460
518
  var arrMap = ( /*#__PURE__*/_unwrapFunction("map", ArrProto));
461
519
 
520
+ var arrSlice = ( /*#__PURE__*/_unwrapFunction(SLICE, ArrProto));
521
+
462
522
  var arrReduce = ( /*#__PURE__*/_unwrapFunction("reduce", ArrProto));
463
523
 
464
524
  var objCreate = ObjClass$1["create"] || polyObjCreate;
@@ -1044,8 +1104,308 @@
1044
1104
  }
1045
1105
  dynamicProto[DynProtoDefaultOptions] = _gblInst.o;
1046
1106
 
1107
+ function doAwaitResponse(value, cb) {
1108
+ return doAwait(value, function (value) {
1109
+ return cb ? cb({
1110
+ value: value,
1111
+ rejected: false
1112
+ }) : value;
1113
+ }, function (reason) {
1114
+ return cb ? cb({
1115
+ rejected: true,
1116
+ reason: reason
1117
+ }) : reason;
1118
+ });
1119
+ }
1120
+ function doAwait(value, resolveFn, rejectFn, finallyFn) {
1121
+ var result = value;
1122
+ if (isPromiseLike(value)) {
1123
+ if (resolveFn || rejectFn) {
1124
+ result = value.then(resolveFn, rejectFn);
1125
+ }
1126
+ }
1127
+ else {
1128
+ if (resolveFn) {
1129
+ result = resolveFn(value);
1130
+ }
1131
+ }
1132
+ if (finallyFn) {
1133
+ doFinally(result, finallyFn);
1134
+ }
1135
+ return result;
1136
+ }
1137
+ function doFinally(value, finallyFn) {
1138
+ var result = value;
1139
+ if (finallyFn) {
1140
+ if (isPromiseLike(value)) {
1141
+ if (value.finally) {
1142
+ result = value.finally(finallyFn);
1143
+ }
1144
+ else {
1145
+ result = value.then(function (value) {
1146
+ finallyFn();
1147
+ return value;
1148
+ }, function (reason) {
1149
+ finallyFn();
1150
+ throw reason;
1151
+ });
1152
+ }
1153
+ }
1154
+ else {
1155
+ finallyFn();
1156
+ }
1157
+ }
1158
+ return result;
1159
+ }
1160
+
1161
+ var STRING_STATES = [
1162
+ "pending", "resolving", "resolved", "rejected"
1163
+ ];
1164
+
1165
+ var DISPATCH_EVENT = "dispatchEvent";
1166
+ var _hasInitEvent;
1167
+ function emitEvent(target, evtName, populateEvent, useNewEvent) {
1168
+ var doc = getDocument();
1169
+ !_hasInitEvent && (_hasInitEvent = safeGetLazy(function () {
1170
+ var evt;
1171
+ if (doc && doc.createEvent) {
1172
+ evt = doc.createEvent("Event");
1173
+ }
1174
+ return (!!evt && evt.initEvent);
1175
+ }, null));
1176
+ var theEvt = _hasInitEvent.v ? doc.createEvent("Event") : (useNewEvent ? new Event(evtName) : {});
1177
+ populateEvent && populateEvent(theEvt);
1178
+ if (_hasInitEvent.v) {
1179
+ theEvt.initEvent(evtName, false, true);
1180
+ }
1181
+ if (theEvt && target[DISPATCH_EVENT]) {
1182
+ target[DISPATCH_EVENT](theEvt);
1183
+ }
1184
+ else {
1185
+ var handler = target["on" + evtName];
1186
+ if (handler) {
1187
+ handler(theEvt);
1188
+ }
1189
+ else {
1190
+ var theConsole = getInst("console");
1191
+ theConsole && (theConsole["error"] || theConsole["log"])(evtName, dumpObj(theEvt));
1192
+ }
1193
+ }
1194
+ }
1195
+
1196
+ var STR_PROMISE = "Promise";
1197
+
1198
+ var NODE_UNHANDLED_REJECTION = "unhandledRejection";
1199
+ var UNHANDLED_REJECTION = NODE_UNHANDLED_REJECTION.toLowerCase();
1200
+ var _unhandledRejectionTimeout = 10;
1201
+ var _hasPromiseRejectionEvent;
1202
+ function dumpFnObj(value) {
1203
+ if (isFunction(value)) {
1204
+ return value.toString();
1205
+ }
1206
+ return dumpObj(value);
1207
+ }
1208
+ function _createPromise(newPromise, processor, executor) {
1209
+ var additionalArgs = arrSlice(arguments, 3);
1210
+ var _state = 0 ;
1211
+ var _hasResolved = false;
1212
+ var _settledValue;
1213
+ var _queue = [];
1214
+ var _handled = false;
1215
+ var _unHandledRejectionHandler = null;
1216
+ var _thePromise;
1217
+ !_hasPromiseRejectionEvent && (_hasPromiseRejectionEvent = lazySafeGetInst(STR_PROMISE + "RejectionEvent"));
1218
+ var _then = function (onResolved, onRejected) {
1219
+ try {
1220
+ _handled = true;
1221
+ _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
1222
+ _unHandledRejectionHandler = null;
1223
+ var thenPromise = newPromise(function (resolve, reject) {
1224
+ _queue.push(function () {
1225
+ try {
1226
+ var handler = _state === 2 ? onResolved : onRejected;
1227
+ var value = isUndefined(handler) ? _settledValue : (isFunction(handler) ? handler(_settledValue) : handler);
1228
+ if (isPromiseLike(value)) {
1229
+ value.then(resolve, reject);
1230
+ }
1231
+ else if (handler) {
1232
+ resolve(value);
1233
+ }
1234
+ else if (_state === 3 ) {
1235
+ reject(value);
1236
+ }
1237
+ else {
1238
+ resolve(value);
1239
+ }
1240
+ }
1241
+ catch (e) {
1242
+ reject(e);
1243
+ }
1244
+ });
1245
+ if (_hasResolved) {
1246
+ _processQueue();
1247
+ }
1248
+ }, additionalArgs);
1249
+ return thenPromise;
1250
+ }
1251
+ finally {
1252
+ }
1253
+ };
1254
+ var _catch = function (onRejected) {
1255
+ return _then(undefined, onRejected);
1256
+ };
1257
+ var _finally = function (onFinally) {
1258
+ var thenFinally = onFinally;
1259
+ var catchFinally = onFinally;
1260
+ if (isFunction(onFinally)) {
1261
+ thenFinally = function (value) {
1262
+ onFinally && onFinally();
1263
+ return value;
1264
+ };
1265
+ catchFinally = function (reason) {
1266
+ onFinally && onFinally();
1267
+ throw reason;
1268
+ };
1269
+ }
1270
+ return _then(thenFinally, catchFinally);
1271
+ };
1272
+ var _strState = function () {
1273
+ return STRING_STATES[_state];
1274
+ };
1275
+ var _processQueue = function () {
1276
+ if (_queue.length > 0) {
1277
+ var pending = _queue.slice();
1278
+ _queue = [];
1279
+ _handled = true;
1280
+ processor(pending);
1281
+ _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();
1282
+ _unHandledRejectionHandler = null;
1283
+ }
1284
+ };
1285
+ var _createSettleIfFn = function (newState, allowState) {
1286
+ return function (theValue) {
1287
+ if (_state === allowState) {
1288
+ if (newState === 2 && isPromiseLike(theValue)) {
1289
+ _state = 1 ;
1290
+ theValue.then(_createSettleIfFn(2 , 1 ), _createSettleIfFn(3 , 1 ));
1291
+ return;
1292
+ }
1293
+ _state = newState;
1294
+ _hasResolved = true;
1295
+ _settledValue = theValue;
1296
+ _processQueue();
1297
+ if (!_handled && newState === 3 && !_unHandledRejectionHandler) {
1298
+ _unHandledRejectionHandler = scheduleTimeout(_notifyUnhandledRejection, _unhandledRejectionTimeout);
1299
+ }
1300
+ }
1301
+ };
1302
+ };
1303
+ var _notifyUnhandledRejection = function () {
1304
+ if (!_handled) {
1305
+ if (isNode()) {
1306
+ process.emit(NODE_UNHANDLED_REJECTION, _settledValue, _thePromise);
1307
+ }
1308
+ else {
1309
+ var gbl = getWindow() || getGlobal();
1310
+ emitEvent(gbl, UNHANDLED_REJECTION, function (theEvt) {
1311
+ objDefine(theEvt, "promise", { g: function () { return _thePromise; } });
1312
+ theEvt.reason = _settledValue;
1313
+ return theEvt;
1314
+ }, !!_hasPromiseRejectionEvent.v);
1315
+ }
1316
+ }
1317
+ };
1318
+ _thePromise = {
1319
+ then: _then,
1320
+ "catch": _catch,
1321
+ finally: _finally
1322
+ };
1323
+ objDefineProp(_thePromise, "state", {
1324
+ get: _strState
1325
+ });
1326
+ if (hasSymbol()) {
1327
+ _thePromise[getKnownSymbol(11 )] = "IPromise";
1328
+ }
1329
+ var _toString = function () {
1330
+ return "IPromise" + ("") + " " + _strState() + (_hasResolved ? (" - " + dumpFnObj(_settledValue)) : "");
1331
+ };
1332
+ _thePromise.toString = _toString;
1333
+ (function _initialize() {
1334
+ if (!isFunction(executor)) {
1335
+ throwTypeError(STR_PROMISE + ": executor is not a function - " + dumpFnObj(executor));
1336
+ }
1337
+ var _rejectFn = _createSettleIfFn(3 , 0 );
1338
+ try {
1339
+ executor.call(_thePromise, _createSettleIfFn(2 , 0 ), _rejectFn);
1340
+ }
1341
+ catch (e) {
1342
+ _rejectFn(e);
1343
+ }
1344
+ })();
1345
+ return _thePromise;
1346
+ }
1347
+
1348
+ var _processPendingItems = function (pending) {
1349
+ arrForEach(pending, function (fn) {
1350
+ try {
1351
+ fn();
1352
+ }
1353
+ catch (e) {
1354
+ }
1355
+ });
1356
+ };
1357
+ function timeoutItemProcessor(timeout) {
1358
+ var callbackTimeout = isNumber(timeout) ? timeout : 0;
1359
+ return function (pending) {
1360
+ scheduleTimeout(function () {
1361
+ _processPendingItems(pending);
1362
+ }, callbackTimeout);
1363
+ };
1364
+ }
1365
+
1366
+ function createAsyncPromise(executor, timeout) {
1367
+ return _createPromise(createAsyncPromise, timeoutItemProcessor(timeout), executor, timeout);
1368
+ }
1369
+
1370
+ var _isPromiseSupported;
1371
+ function createNativePromise(executor, timeout) {
1372
+ !_isPromiseSupported && (_isPromiseSupported = lazySafeGetInst(STR_PROMISE));
1373
+ var PrmCls = _isPromiseSupported.v;
1374
+ if (!PrmCls) {
1375
+ return createAsyncPromise(executor);
1376
+ }
1377
+ if (!isFunction(executor)) {
1378
+ throwTypeError(STR_PROMISE + ": executor is not a function - " + dumpObj(executor));
1379
+ }
1380
+ var _state = 0 ;
1381
+ function _strState() {
1382
+ return STRING_STATES[_state];
1383
+ }
1384
+ var thePromise = new PrmCls(function (resolve, reject) {
1385
+ function _resolve(value) {
1386
+ _state = 2 ;
1387
+ resolve(value);
1388
+ }
1389
+ function _reject(reason) {
1390
+ _state = 3 ;
1391
+ reject(reason);
1392
+ }
1393
+ executor(_resolve, _reject);
1394
+ });
1395
+ objDefineProp(thePromise, "state", {
1396
+ get: _strState
1397
+ });
1398
+ return thePromise;
1399
+ }
1400
+
1401
+ var _promiseCreator;
1402
+ function createPromise(executor, timeout) {
1403
+ !_promiseCreator && (_promiseCreator = getLazy(function () { return createNativePromise; }));
1404
+ return _promiseCreator.v.call(this, executor, timeout);
1405
+ }
1406
+
1047
1407
  var UNDEFINED_VALUE = undefined;
1048
- var STR_EMPTY = "";
1408
+ var STR_EMPTY$1 = "";
1049
1409
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1050
1410
 
1051
1411
  var rCamelCase = /-([a-z])/g;
@@ -1080,7 +1440,7 @@
1080
1440
  if (isError(object)) {
1081
1441
  return object[_DYN_NAME$1 ];
1082
1442
  }
1083
- return STR_EMPTY;
1443
+ return STR_EMPTY$1;
1084
1444
  }
1085
1445
  function createClassFromInterface(defaults) {
1086
1446
  return /** @class */ (function () {
@@ -1096,15 +1456,56 @@
1096
1456
  }());
1097
1457
  }
1098
1458
 
1459
+ var strLocation = "location";
1099
1460
  var strConsole = "console";
1100
1461
  var strJSON = "JSON";
1101
1462
  var strCrypto = "crypto";
1102
1463
  var strMsCrypto = "msCrypto";
1103
1464
  var strMsie = "msie";
1104
1465
  var strTrident = "trident/";
1466
+ var strXMLHttpRequest = "XMLHttpRequest";
1105
1467
  var _isTrident = null;
1106
1468
  var _navUserAgentCheck = null;
1469
+ var _enableMocks = false;
1470
+ var _useXDomainRequest = null;
1107
1471
  var _beaconsSupported = null;
1472
+ function _hasProperty(theClass, property) {
1473
+ var supported = false;
1474
+ if (theClass) {
1475
+ try {
1476
+ supported = property in theClass;
1477
+ if (!supported) {
1478
+ var proto = theClass[strShimPrototype];
1479
+ if (proto) {
1480
+ supported = property in proto;
1481
+ }
1482
+ }
1483
+ }
1484
+ catch (e) {
1485
+ }
1486
+ if (!supported) {
1487
+ try {
1488
+ var tmp = new theClass();
1489
+ supported = !isUndefined(tmp[property]);
1490
+ }
1491
+ catch (e) {
1492
+ }
1493
+ }
1494
+ }
1495
+ return supported;
1496
+ }
1497
+ function getLocation(checkForMock) {
1498
+ if (checkForMock && _enableMocks) {
1499
+ var mockLocation = getInst("__mockLocation");
1500
+ if (mockLocation) {
1501
+ return mockLocation;
1502
+ }
1503
+ }
1504
+ if (typeof location === strShimObject && location) {
1505
+ return location;
1506
+ }
1507
+ return getInst(strLocation);
1508
+ }
1108
1509
  function getConsole() {
1109
1510
  if (typeof console !== strShimUndefined) {
1110
1511
  return console;
@@ -1130,7 +1531,7 @@
1130
1531
  var nav = getNavigator();
1131
1532
  if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
1132
1533
  _navUserAgentCheck = nav[_DYN_USER_AGENT ];
1133
- var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
1534
+ var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]();
1134
1535
  _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
1135
1536
  }
1136
1537
  return _isTrident;
@@ -1141,6 +1542,38 @@
1141
1542
  }
1142
1543
  return _beaconsSupported;
1143
1544
  }
1545
+ function isFetchSupported(withKeepAlive) {
1546
+ var isSupported = false;
1547
+ try {
1548
+ isSupported = !!getInst("fetch");
1549
+ var request = getInst("Request");
1550
+ if (isSupported && withKeepAlive && request) {
1551
+ isSupported = _hasProperty(request, "keepalive");
1552
+ }
1553
+ }
1554
+ catch (e) {
1555
+ }
1556
+ return isSupported;
1557
+ }
1558
+ function useXDomainRequest() {
1559
+ if (_useXDomainRequest === null) {
1560
+ _useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);
1561
+ if (_useXDomainRequest && isXhrSupported()) {
1562
+ _useXDomainRequest = _useXDomainRequest && !_hasProperty(getInst(strXMLHttpRequest), "withCredentials");
1563
+ }
1564
+ }
1565
+ return _useXDomainRequest;
1566
+ }
1567
+ function isXhrSupported() {
1568
+ var isSupported = false;
1569
+ try {
1570
+ var xmlHttpRequest = getInst(strXMLHttpRequest);
1571
+ isSupported = !!xmlHttpRequest;
1572
+ }
1573
+ catch (e) {
1574
+ }
1575
+ return isSupported;
1576
+ }
1144
1577
  function _getNamedValue(values, name) {
1145
1578
  if (values) {
1146
1579
  for (var i = 0; i < values[_DYN_LENGTH$1 ]; i++) {
@@ -1234,7 +1667,7 @@
1234
1667
  var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1235
1668
  var number = random32() >>> 0;
1236
1669
  var chars = 0;
1237
- var result = STR_EMPTY;
1670
+ var result = STR_EMPTY$1;
1238
1671
  while (result[_DYN_LENGTH$1 ] < maxLength) {
1239
1672
  chars++;
1240
1673
  result += base64chars.charAt(number & 0x3F);
@@ -1272,11 +1705,11 @@
1272
1705
  }
1273
1706
  function createUniqueNamespace(name, includeVersion) {
1274
1707
  if (includeVersion === void 0) { includeVersion = false; }
1275
- return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
1708
+ return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY$1) + instanceName);
1276
1709
  }
1277
1710
  function createElmNodeData(name) {
1278
1711
  var data = {
1279
- id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
1712
+ id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY$1) + "." + version),
1280
1713
  accept: function (target) {
1281
1714
  return _canAcceptData(target);
1282
1715
  },
@@ -1951,9 +2384,9 @@
1951
2384
  _a);
1952
2385
  function _sanitizeDiagnosticText(text) {
1953
2386
  if (text) {
1954
- return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
2387
+ return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
1955
2388
  }
1956
- return STR_EMPTY;
2389
+ return STR_EMPTY$1;
1957
2390
  }
1958
2391
  function _logToConsole(func, message) {
1959
2392
  var theConsole = getConsole();
@@ -1975,12 +2408,12 @@
1975
2408
  _self[_DYN_MESSAGE$1 ] =
1976
2409
  (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
1977
2410
  msgId;
1978
- var strProps = STR_EMPTY;
2411
+ var strProps = STR_EMPTY$1;
1979
2412
  if (hasJSON()) {
1980
2413
  strProps = getJSON().stringify(properties);
1981
2414
  }
1982
- var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
1983
- (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
2415
+ var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
2416
+ (properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
1984
2417
  _self[_DYN_MESSAGE$1 ] += diagnosticText;
1985
2418
  }
1986
2419
  _InternalLogMessage.dataType = "MessageData";
@@ -2116,7 +2549,7 @@
2116
2549
 
2117
2550
  function generateW3CId() {
2118
2551
  var hexValues = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
2119
- var oct = STR_EMPTY, tmp;
2552
+ var oct = STR_EMPTY$1, tmp;
2120
2553
  for (var a = 0; a < 4; a++) {
2121
2554
  tmp = random32();
2122
2555
  oct +=
@@ -2193,9 +2626,9 @@
2193
2626
  return null;
2194
2627
  }
2195
2628
  return _a = {
2196
- version: (match[1] || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ](),
2197
- traceId: (match[2] || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ](),
2198
- spanId: (match[3] || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]()
2629
+ version: (match[1] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ](),
2630
+ traceId: (match[2] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ](),
2631
+ spanId: (match[3] || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]()
2199
2632
  },
2200
2633
  _a[_DYN_TRACE_FLAGS ] = parseInt(match[4], 16),
2201
2634
  _a;
@@ -2260,16 +2693,16 @@
2260
2693
  var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
2261
2694
  function _normalizeNamespace(name) {
2262
2695
  if (name && name[_DYN_REPLACE ]) {
2263
- return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY);
2696
+ return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY$1);
2264
2697
  }
2265
2698
  return name;
2266
2699
  }
2267
2700
  function _getEvtNamespace(eventName, evtNamespace) {
2268
2701
  var _a;
2269
2702
  if (evtNamespace) {
2270
- var theNamespace_1 = STR_EMPTY;
2703
+ var theNamespace_1 = STR_EMPTY$1;
2271
2704
  if (isArray(evtNamespace)) {
2272
- theNamespace_1 = STR_EMPTY;
2705
+ theNamespace_1 = STR_EMPTY$1;
2273
2706
  arrForEach(evtNamespace, function (name) {
2274
2707
  name = _normalizeNamespace(name);
2275
2708
  if (name) {
@@ -2287,13 +2720,13 @@
2287
2720
  if (theNamespace_1[0] !== ".") {
2288
2721
  theNamespace_1 = "." + theNamespace_1;
2289
2722
  }
2290
- eventName = (eventName || STR_EMPTY) + theNamespace_1;
2723
+ eventName = (eventName || STR_EMPTY$1) + theNamespace_1;
2291
2724
  }
2292
2725
  }
2293
- var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
2726
+ var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY$1) || []);
2294
2727
  return _a = {},
2295
2728
  _a[_DYN_TYPE ] = parsedEvent[1],
2296
- _a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT$1 ](".").sort()).join("."),
2729
+ _a.ns = ((parsedEvent[2] || STR_EMPTY$1).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY$1)[_DYN_SPLIT$1 ](".").sort()).join("."),
2297
2730
  _a;
2298
2731
  }
2299
2732
  function _getRegisteredEvents(target, evtName, addDefault) {
@@ -2443,12 +2876,17 @@
2443
2876
  var _DYN_SPLIT = "split";
2444
2877
  var _DYN_LENGTH = "length";
2445
2878
  var _DYN_TO_LOWER_CASE = "toLowerCase";
2879
+ var _DYN_LOCATION = "location";
2446
2880
  var _DYN_INGESTIONENDPOINT = "ingestionendpoint";
2447
2881
  var _DYN_TO_STRING = "toString";
2448
2882
  var _DYN_PUSH = "push";
2883
+ var _DYN_URL_STRING = "urlString";
2884
+ var _DYN_DATA = "data";
2885
+ var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
2886
+ var _DYN_REASON = "reason";
2887
+ var _DYN_MESSAGE = "message";
2449
2888
  var _DYN_REMOVE_ITEM = "removeItem";
2450
2889
  var _DYN_NAME = "name";
2451
- var _DYN_MESSAGE = "message";
2452
2890
  var _DYN_COUNT = "count";
2453
2891
  var _DYN_PRE_TRIGGER_DATE = "preTriggerDate";
2454
2892
  var _DYN_DISABLED = "disabled";
@@ -2459,6 +2897,7 @@
2459
2897
  var _DYN_STRINGIFY = "stringify";
2460
2898
  var _DYN_PATHNAME = "pathname";
2461
2899
  var _DYN_CORRELATION_HEADER_E0 = "correlationHeaderExcludePatterns";
2900
+ var _DYN_ITEMS_RECEIVED = "itemsReceived";
2462
2901
  var _DYN_EXTENSION_CONFIG = "extensionConfig";
2463
2902
  var _DYN_EXCEPTIONS = "exceptions";
2464
2903
  var _DYN_PARSED_STACK = "parsedStack";
@@ -2824,6 +3263,54 @@
2824
3263
  }
2825
3264
  };
2826
3265
  }
3266
+ function getResponseText(xhr) {
3267
+ try {
3268
+ return xhr.responseText;
3269
+ }
3270
+ catch (e) {
3271
+ }
3272
+ return null;
3273
+ }
3274
+ function formatErrorMessageXdr(xdr, message) {
3275
+ if (xdr) {
3276
+ return "XDomainRequest,Response:" + getResponseText(xdr) || "";
3277
+ }
3278
+ return message;
3279
+ }
3280
+ function formatErrorMessageXhr(xhr, message) {
3281
+ if (xhr) {
3282
+ return "XMLHttpRequest,Status:" + xhr.status + ",Response:" + getResponseText(xhr) || xhr.response || "";
3283
+ }
3284
+ return message;
3285
+ }
3286
+ function prependTransports(theTransports, newTransports) {
3287
+ if (newTransports) {
3288
+ if (isNumber(newTransports)) {
3289
+ theTransports = [newTransports].concat(theTransports);
3290
+ }
3291
+ else if (isArray(newTransports)) {
3292
+ theTransports = newTransports.concat(theTransports);
3293
+ }
3294
+ }
3295
+ return theTransports;
3296
+ }
3297
+ function parseResponse(response, diagLog) {
3298
+ try {
3299
+ if (response && response !== "") {
3300
+ var result = getJSON().parse(response);
3301
+ if (result && result[_DYN_ITEMS_RECEIVED ] && result[_DYN_ITEMS_RECEIVED ] >= result.itemsAccepted &&
3302
+ result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH ]) {
3303
+ return result;
3304
+ }
3305
+ }
3306
+ }
3307
+ catch (e) {
3308
+ _throwInternal(diagLog, 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
3309
+ response: response
3310
+ });
3311
+ }
3312
+ return null;
3313
+ }
2827
3314
 
2828
3315
  var StorageType = createEnumStyle({
2829
3316
  LocalStorage: 0 ,
@@ -3330,7 +3817,7 @@
3330
3817
  }, {});
3331
3818
  if (objKeys(result)[_DYN_LENGTH ] > 0) {
3332
3819
  if (result.endpointsuffix) {
3333
- var locationPrefix = result.location ? result.location + "." : "";
3820
+ var locationPrefix = result[_DYN_LOCATION ] ? result[_DYN_LOCATION ] + "." : "";
3334
3821
  result[_DYN_INGESTIONENDPOINT ] = result[_DYN_INGESTIONENDPOINT ] || ("https://" + locationPrefix + "dc." + result.endpointsuffix);
3335
3822
  }
3336
3823
  result[_DYN_INGESTIONENDPOINT ] = result[_DYN_INGESTIONENDPOINT ] || DEFAULT_BREEZE_ENDPOINT;
@@ -3352,7 +3839,7 @@
3352
3839
  _self.sampleRate = 100.0;
3353
3840
  _self.tags = {};
3354
3841
  _self[_DYN_NAME ] = dataSanitizeString(logger, name) || strNotSpecified;
3355
- _self.data = data;
3842
+ _self[_DYN_DATA ] = data;
3356
3843
  _self.time = toISOString(new Date());
3357
3844
  _self.aiDataContract = {
3358
3845
  time: 1 ,
@@ -3509,8 +3996,8 @@
3509
3996
  else if (getWindow() && getWindow()["opera"] && errorObj[strMessage]) {
3510
3997
  details = _getOperaStack(errorObj[_DYN_MESSAGE ]);
3511
3998
  }
3512
- else if (errorObj["reason"] && errorObj.reason[strStack]) {
3513
- details = _convertStackObj(errorObj.reason[strStack]);
3999
+ else if (errorObj["reason"] && errorObj[_DYN_REASON ][strStack]) {
4000
+ details = _convertStackObj(errorObj[_DYN_REASON ][strStack]);
3514
4001
  }
3515
4002
  else if (isString(errorObj)) {
3516
4003
  details = _convertStackObj(errorObj);
@@ -4001,7 +4488,7 @@
4001
4488
  _self.resultCode = resultCode + "";
4002
4489
  _self.type = dataSanitizeString(logger, requestAPI);
4003
4490
  var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);
4004
- _self.data = dataSanitizeUrl(logger, commandName) || dependencyFields.data;
4491
+ _self[_DYN_DATA ] = dataSanitizeUrl(logger, commandName) || dependencyFields[_DYN_DATA ];
4005
4492
  _self.target = dataSanitizeString(logger, dependencyFields.target);
4006
4493
  if (correlationContext) {
4007
4494
  _self.target = "".concat(_self.target, " | ").concat(correlationContext);
@@ -4216,7 +4703,7 @@
4216
4703
  _a);
4217
4704
  if (!isNullOrUndefined(customProperties)) {
4218
4705
  objForEachKey(customProperties, function (prop, value) {
4219
- telemetryItem.data[prop] = value;
4706
+ telemetryItem[_DYN_DATA ][prop] = value;
4220
4707
  });
4221
4708
  }
4222
4709
  return telemetryItem;
@@ -4240,6 +4727,360 @@
4240
4727
  };
4241
4728
  var CtxTagKeys = new ContextTagKeys();
4242
4729
 
4730
+ var STR_EMPTY = "";
4731
+ var SenderPostManager = /** @class */ (function () {
4732
+ function SenderPostManager() {
4733
+ var _syncFetchPayload = 0;
4734
+ var _enableSendPromise;
4735
+ var _isInitialized;
4736
+ var _diagLog;
4737
+ var _isOneDs;
4738
+ var _onCompleteFuncs;
4739
+ var _disableCredentials;
4740
+ var _fallbackInst;
4741
+ var _disableXhr;
4742
+ var _disableBeacon;
4743
+ var _disableBeaconSync;
4744
+ dynamicProto(SenderPostManager, this, function (_self, _base) {
4745
+ var _sendCredentials = true;
4746
+ _initDefaults();
4747
+ _self.initialize = function (config, diagLog) {
4748
+ _diagLog = diagLog;
4749
+ if (_isInitialized) {
4750
+ _throwInternal(_diagLog, 1 , 28 , "Sender is already initialized");
4751
+ }
4752
+ _self.SetConfig(config);
4753
+ _isInitialized = true;
4754
+ };
4755
+ _self["_getDbgPlgTargets"] = function () {
4756
+ return [_isInitialized, _isOneDs, _disableCredentials, _enableSendPromise];
4757
+ };
4758
+ _self.SetConfig = function (config) {
4759
+ try {
4760
+ _onCompleteFuncs = config.senderOnCompleteCallBack || {};
4761
+ _disableCredentials = !!config.disableCredentials;
4762
+ _isOneDs = !!config.isOneDs;
4763
+ _enableSendPromise = !!config.enableSendPromise;
4764
+ _disableXhr = !!config.disableXhr;
4765
+ _disableBeacon = !!config.disableBeacon;
4766
+ _disableBeaconSync = !!config.disableBeaconSync;
4767
+ _fallbackInst = { sendPOST: _xhrSender };
4768
+ if (_disableCredentials) {
4769
+ var location_1 = getLocation();
4770
+ if (location_1 && location_1.protocol && location_1.protocol[_DYN_TO_LOWER_CASE ]() === "file:") {
4771
+ _sendCredentials = false;
4772
+ }
4773
+ }
4774
+ return true;
4775
+ }
4776
+ catch (e) {
4777
+ }
4778
+ return false;
4779
+ };
4780
+ _self.getSyncFetchPayload = function () {
4781
+ return _syncFetchPayload;
4782
+ };
4783
+ _self.getXhrInst = function (transports, sync) {
4784
+ if (transports && transports[_DYN_LENGTH ]) {
4785
+ return _getSenderInterface(transports, sync);
4786
+ }
4787
+ return null;
4788
+ };
4789
+ _self.getFallbackInst = function () {
4790
+ return _fallbackInst;
4791
+ };
4792
+ _self._doTeardown = function (unloadCtx, unloadState) {
4793
+ _initDefaults();
4794
+ };
4795
+ function _onSuccess(res, onComplete) {
4796
+ _doOnComplete(onComplete, 200, {}, res);
4797
+ }
4798
+ function _onError(message, onComplete) {
4799
+ _throwInternal(_diagLog, 2 , 26 , "Failed to send telemetry.", { message: message });
4800
+ _doOnComplete(onComplete, 400, {});
4801
+ }
4802
+ function _onNoPayloadUrl(onComplete) {
4803
+ _onError("No endpoint url is provided for the batch", onComplete);
4804
+ }
4805
+ function _getSenderInterface(transports, syncSupport) {
4806
+ var transportType = null;
4807
+ var sendPostFunc = null;
4808
+ var lp = 0;
4809
+ while (sendPostFunc == null && lp < transports[_DYN_LENGTH ]) {
4810
+ transportType = transports[lp];
4811
+ if (!_disableXhr && transportType === 1 ) {
4812
+ if (useXDomainRequest()) {
4813
+ sendPostFunc = _xdrSender;
4814
+ }
4815
+ else if (isXhrSupported()) {
4816
+ sendPostFunc = _xhrSender;
4817
+ }
4818
+ }
4819
+ else if (transportType === 2 && isFetchSupported(syncSupport)) {
4820
+ sendPostFunc = _doFetchSender;
4821
+ }
4822
+ else if (transportType === 3 && isBeaconsSupported() && (syncSupport ? !_disableBeaconSync : !_disableBeacon)) {
4823
+ sendPostFunc = _beaconSender;
4824
+ }
4825
+ lp++;
4826
+ }
4827
+ if (sendPostFunc) {
4828
+ return {
4829
+ sendPOST: sendPostFunc
4830
+ };
4831
+ }
4832
+ return null;
4833
+ }
4834
+ function _doOnComplete(oncomplete, status, headers, response) {
4835
+ try {
4836
+ oncomplete && oncomplete(status, headers, response);
4837
+ }
4838
+ catch (e) {
4839
+ }
4840
+ }
4841
+ function _doBeaconSend(payload, oncomplete) {
4842
+ var nav = getNavigator();
4843
+ var url = payload[_DYN_URL_STRING ];
4844
+ if (!url) {
4845
+ _onNoPayloadUrl(oncomplete);
4846
+ return true;
4847
+ }
4848
+ var data = payload[_DYN_DATA ];
4849
+ var plainTextBatch = new Blob([data], { type: "text/plain;charset=UTF-8" });
4850
+ var queued = nav.sendBeacon(url, plainTextBatch);
4851
+ return queued;
4852
+ }
4853
+ function _beaconSender(payload, oncomplete, sync) {
4854
+ var data = payload[_DYN_DATA ];
4855
+ if (data) {
4856
+ if (!_doBeaconSend(payload, oncomplete)) {
4857
+ var onRetry = _onCompleteFuncs && _onCompleteFuncs.beaconOnRetry;
4858
+ if (onRetry && isFunction(onRetry)) {
4859
+ onRetry(payload, oncomplete, _doBeaconSend);
4860
+ }
4861
+ else {
4862
+ _fallbackInst && _fallbackInst.sendPOST(payload, oncomplete, true);
4863
+ _throwInternal(_diagLog, 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
4864
+ }
4865
+ }
4866
+ else {
4867
+ _onSuccess(null, oncomplete);
4868
+ }
4869
+ }
4870
+ return;
4871
+ }
4872
+ function _xhrSender(payload, oncomplete, sync) {
4873
+ var thePromise;
4874
+ var resolveFunc;
4875
+ var rejectFunc;
4876
+ var headers = payload.headers || {};
4877
+ if (!sync && _enableSendPromise) {
4878
+ thePromise = createPromise(function (resolve, reject) {
4879
+ resolveFunc = resolve;
4880
+ rejectFunc = reject;
4881
+ });
4882
+ }
4883
+ var xhr = new XMLHttpRequest();
4884
+ var endPointUrl = payload[_DYN_URL_STRING ];
4885
+ if (!endPointUrl) {
4886
+ _onNoPayloadUrl(oncomplete);
4887
+ resolveFunc && resolveFunc(false);
4888
+ return;
4889
+ }
4890
+ try {
4891
+ xhr[DisabledPropertyName] = true;
4892
+ }
4893
+ catch (e) {
4894
+ }
4895
+ xhr.open("POST", endPointUrl, !sync);
4896
+ xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
4897
+ if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
4898
+ xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
4899
+ }
4900
+ arrForEach(objKeys(headers), function (headerName) {
4901
+ xhr[_DYN_SET_REQUEST_HEADER ](headerName, headers[headerName]);
4902
+ });
4903
+ xhr.onreadystatechange = function () {
4904
+ var response = getResponseText(xhr);
4905
+ var onReadyFunc = _onCompleteFuncs && _onCompleteFuncs.xhrOnComplete;
4906
+ var onReadyFuncExist = onReadyFunc && isFunction(onReadyFunc);
4907
+ if (onReadyFuncExist) {
4908
+ onReadyFunc(xhr, oncomplete, payload);
4909
+ }
4910
+ if (xhr.readyState === 4) {
4911
+ if (!onReadyFuncExist) {
4912
+ _doOnComplete(oncomplete, xhr.status, {}, response);
4913
+ }
4914
+ resolveFunc && resolveFunc(true);
4915
+ }
4916
+ };
4917
+ xhr.onerror = function (event) {
4918
+ _doOnComplete(oncomplete, 400, {}, formatErrorMessageXhr(xhr));
4919
+ rejectFunc && rejectFunc(event);
4920
+ };
4921
+ xhr.ontimeout = function () {
4922
+ _doOnComplete(oncomplete, 500, {}, formatErrorMessageXhr(xhr));
4923
+ resolveFunc && resolveFunc(false);
4924
+ };
4925
+ xhr.send(payload[_DYN_DATA ]);
4926
+ return thePromise;
4927
+ }
4928
+ function _doFetchSender(payload, oncomplete, sync) {
4929
+ var _a;
4930
+ var endPointUrl = payload[_DYN_URL_STRING ];
4931
+ var batch = payload[_DYN_DATA ];
4932
+ var plainTextBatch = new Blob([batch], { type: "application/json" });
4933
+ var thePromise;
4934
+ var resolveFunc;
4935
+ var rejectFunc;
4936
+ var requestHeaders = new Headers();
4937
+ var batchLength = batch[_DYN_LENGTH ];
4938
+ var ignoreResponse = false;
4939
+ var responseHandled = false;
4940
+ var headers = payload.headers || {};
4941
+ if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
4942
+ requestHeaders.append(RequestHeaders[6 ], RequestHeaders[7 ]);
4943
+ }
4944
+ arrForEach(objKeys(headers), function (headerName) {
4945
+ requestHeaders.append(headerName, headers[headerName]);
4946
+ });
4947
+ var init = (_a = {
4948
+ method: "POST",
4949
+ headers: requestHeaders,
4950
+ body: plainTextBatch
4951
+ },
4952
+ _a[DisabledPropertyName] = true
4953
+ ,
4954
+ _a);
4955
+ if (_sendCredentials && _isOneDs) {
4956
+ init.credentials = "include";
4957
+ }
4958
+ if (sync) {
4959
+ init.keepalive = true;
4960
+ ignoreResponse = true;
4961
+ _syncFetchPayload += batchLength;
4962
+ }
4963
+ var request = new Request(endPointUrl, init);
4964
+ try {
4965
+ request[DisabledPropertyName] = true;
4966
+ }
4967
+ catch (e) {
4968
+ }
4969
+ if (!sync && _enableSendPromise) {
4970
+ thePromise = createPromise(function (resolve, reject) {
4971
+ resolveFunc = resolve;
4972
+ rejectFunc = reject;
4973
+ });
4974
+ }
4975
+ if (!endPointUrl) {
4976
+ _onNoPayloadUrl(oncomplete);
4977
+ resolveFunc && resolveFunc(false);
4978
+ return;
4979
+ }
4980
+ try {
4981
+ doAwaitResponse(fetch(request), function (result) {
4982
+ if (sync) {
4983
+ _syncFetchPayload -= batchLength;
4984
+ batchLength = 0;
4985
+ }
4986
+ if (!responseHandled) {
4987
+ responseHandled = true;
4988
+ if (!result.rejected) {
4989
+ var response_1 = result.value;
4990
+ if (!response_1.ok) {
4991
+ _doOnComplete(oncomplete, 400, {}, response_1.statusText);
4992
+ resolveFunc && resolveFunc(false);
4993
+ }
4994
+ else {
4995
+ doAwaitResponse(response_1.text(), function (resp) {
4996
+ var status = response_1.status;
4997
+ var onCompleteFunc = _onCompleteFuncs.fetchOnComplete;
4998
+ if (onCompleteFunc && isFunction(onCompleteFunc)) {
4999
+ onCompleteFunc(response_1, oncomplete, resp.value || STR_EMPTY, payload);
5000
+ }
5001
+ else {
5002
+ _doOnComplete(oncomplete, status, {}, resp.value || STR_EMPTY);
5003
+ }
5004
+ resolveFunc && resolveFunc(true);
5005
+ });
5006
+ }
5007
+ }
5008
+ else {
5009
+ _doOnComplete(oncomplete, 400, {}, result[_DYN_REASON ] && result[_DYN_REASON ][_DYN_MESSAGE ]);
5010
+ rejectFunc && rejectFunc(result[_DYN_REASON ]);
5011
+ }
5012
+ }
5013
+ });
5014
+ }
5015
+ catch (e) {
5016
+ if (!responseHandled) {
5017
+ _doOnComplete(oncomplete, 400, {}, dumpObj(e));
5018
+ rejectFunc && rejectFunc(e);
5019
+ }
5020
+ }
5021
+ if (ignoreResponse && !responseHandled) {
5022
+ responseHandled = true;
5023
+ _doOnComplete(oncomplete, 200, {});
5024
+ resolveFunc && resolveFunc(true);
5025
+ }
5026
+ return thePromise;
5027
+ }
5028
+ function _xdrSender(payload, oncomplete, sync) {
5029
+ var _window = getWindow();
5030
+ var xdr = new XDomainRequest();
5031
+ var data = payload[_DYN_DATA ];
5032
+ xdr.onload = function () {
5033
+ var response = getResponseText(xdr);
5034
+ var onloadFunc = _onCompleteFuncs && _onCompleteFuncs.xdrOnComplete;
5035
+ if (onloadFunc && isFunction(onloadFunc)) {
5036
+ onloadFunc(xdr, oncomplete, payload);
5037
+ }
5038
+ else {
5039
+ _doOnComplete(oncomplete, 200, {}, response);
5040
+ }
5041
+ };
5042
+ xdr.onerror = function () {
5043
+ _doOnComplete(oncomplete, 400, {}, formatErrorMessageXdr(xdr));
5044
+ };
5045
+ xdr.ontimeout = function () {
5046
+ _doOnComplete(oncomplete, 500, {});
5047
+ };
5048
+ xdr.onprogress = function () { };
5049
+ var hostingProtocol = _window && _window[_DYN_LOCATION ] && _window[_DYN_LOCATION ].protocol || "";
5050
+ var endpoint = payload[_DYN_URL_STRING ];
5051
+ if (!endpoint) {
5052
+ _onNoPayloadUrl(oncomplete);
5053
+ return;
5054
+ }
5055
+ if (endpoint.lastIndexOf(hostingProtocol, 0) !== 0) {
5056
+ var msg = "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.";
5057
+ _throwInternal(_diagLog, 2 , 40 , ". " + msg);
5058
+ _onError(msg, oncomplete);
5059
+ return;
5060
+ }
5061
+ var endpointUrl = endpoint.replace(/^(https?:)/, "");
5062
+ xdr.open("POST", endpointUrl);
5063
+ xdr.send(data);
5064
+ }
5065
+ function _initDefaults() {
5066
+ _syncFetchPayload = 0;
5067
+ _isInitialized = false;
5068
+ _enableSendPromise = false;
5069
+ _diagLog = null;
5070
+ _isOneDs = null;
5071
+ _onCompleteFuncs = null;
5072
+ _disableCredentials = null;
5073
+ _fallbackInst = null;
5074
+ _disableXhr = false;
5075
+ _disableBeacon = false;
5076
+ _disableBeaconSync = false;
5077
+ }
5078
+ });
5079
+ }
5080
+ SenderPostManager.__ieDyn=1;
5081
+ return SenderPostManager;
5082
+ }());
5083
+
4243
5084
  function createDomEvent(eventName) {
4244
5085
  var event = null;
4245
5086
  if (isFunction(Event)) {
@@ -4400,6 +5241,7 @@
4400
5241
  exports.RemoteDependencyData = RemoteDependencyData;
4401
5242
  exports.RequestHeaders = RequestHeaders;
4402
5243
  exports.SampleRate = SampleRate;
5244
+ exports.SenderPostManager = SenderPostManager;
4403
5245
  exports.SeverityLevel = SeverityLevel;
4404
5246
  exports.TelemetryItemCreator = TelemetryItemCreator;
4405
5247
  exports.ThrottleMgr = ThrottleMgr;
@@ -4428,8 +5270,11 @@
4428
5270
  exports.dateTimeUtilsNow = dateTimeUtilsNow;
4429
5271
  exports.dsPadNumber = dsPadNumber;
4430
5272
  exports.findW3cTraceParent = findW3cTraceParent;
5273
+ exports.formatErrorMessageXdr = formatErrorMessageXdr;
5274
+ exports.formatErrorMessageXhr = formatErrorMessageXhr;
4431
5275
  exports.formatTraceParent = formatTraceParent;
4432
5276
  exports.getExtensionByName = getExtensionByName;
5277
+ exports.getResponseText = getResponseText;
4433
5278
  exports.isBeaconApiSupported = isBeaconsSupported;
4434
5279
  exports.isCrossOriginError = isCrossOriginError;
4435
5280
  exports.isInternalApplicationInsightsEndpoint = isInternalApplicationInsightsEndpoint;
@@ -4439,7 +5284,9 @@
4439
5284
  exports.isValidTraceParent = isValidTraceParent;
4440
5285
  exports.msToTimeSpan = msToTimeSpan;
4441
5286
  exports.parseConnectionString = parseConnectionString;
5287
+ exports.parseResponse = parseResponse;
4442
5288
  exports.parseTraceParent = parseTraceParent;
5289
+ exports.prependTransports = prependTransports;
4443
5290
  exports.strNotSpecified = strNotSpecified;
4444
5291
  exports.stringToBoolOrDefault = stringToBoolOrDefault;
4445
5292
  exports.urlGetAbsoluteUrl = urlGetAbsoluteUrl;