@microsoft/1ds-post-js 3.1.11 → 3.2.0

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 (51) hide show
  1. package/README.md +2 -2
  2. package/bundle/{ms.post-3.1.11.gbl.js → ms.post-3.2.0.gbl.js} +1486 -786
  3. package/bundle/ms.post-3.2.0.gbl.js.map +1 -0
  4. package/bundle/ms.post-3.2.0.gbl.min.js +7 -0
  5. package/bundle/ms.post-3.2.0.gbl.min.js.map +1 -0
  6. package/bundle/ms.post-3.2.0.integrity.json +46 -0
  7. package/bundle/{ms.post-3.1.11.js → ms.post-3.2.0.js} +1486 -786
  8. package/bundle/ms.post-3.2.0.js.map +1 -0
  9. package/bundle/ms.post-3.2.0.min.js +7 -0
  10. package/bundle/ms.post-3.2.0.min.js.map +1 -0
  11. package/bundle/ms.post.gbl.js +1485 -785
  12. package/bundle/ms.post.gbl.js.map +1 -1
  13. package/bundle/ms.post.gbl.min.js +2 -2
  14. package/bundle/ms.post.gbl.min.js.map +1 -1
  15. package/bundle/ms.post.integrity.json +17 -17
  16. package/bundle/ms.post.js +1485 -785
  17. package/bundle/ms.post.js.map +1 -1
  18. package/bundle/ms.post.min.js +2 -2
  19. package/bundle/ms.post.min.js.map +1 -1
  20. package/dist/ms.post.js +177 -116
  21. package/dist/ms.post.js.map +1 -1
  22. package/dist/ms.post.min.js +2 -2
  23. package/dist/ms.post.min.js.map +1 -1
  24. package/dist-esm/src/BatchNotificationActions.js +1 -1
  25. package/dist-esm/src/ClockSkewManager.js +1 -1
  26. package/dist-esm/src/Constants.js +1 -1
  27. package/dist-esm/src/DataModels.js +1 -1
  28. package/dist-esm/src/EventBatch.js +1 -1
  29. package/dist-esm/src/HttpManager.js +41 -36
  30. package/dist-esm/src/HttpManager.js.map +1 -1
  31. package/dist-esm/src/Index.js +1 -1
  32. package/dist-esm/src/KillSwitch.js +1 -1
  33. package/dist-esm/src/PostChannel.d.ts +0 -4
  34. package/dist-esm/src/PostChannel.js +136 -92
  35. package/dist-esm/src/PostChannel.js.map +1 -1
  36. package/dist-esm/src/RetryPolicy.d.ts +20 -25
  37. package/dist-esm/src/RetryPolicy.js +35 -44
  38. package/dist-esm/src/RetryPolicy.js.map +1 -1
  39. package/dist-esm/src/Serializer.js +1 -1
  40. package/dist-esm/src/typings/XDomainRequest.js +1 -1
  41. package/package.json +2 -2
  42. package/src/HttpManager.ts +43 -47
  43. package/src/PostChannel.ts +162 -114
  44. package/src/RetryPolicy.ts +33 -38
  45. package/bundle/ms.post-3.1.11.gbl.js.map +0 -1
  46. package/bundle/ms.post-3.1.11.gbl.min.js +0 -7
  47. package/bundle/ms.post-3.1.11.gbl.min.js.map +0 -1
  48. package/bundle/ms.post-3.1.11.integrity.json +0 -46
  49. package/bundle/ms.post-3.1.11.js.map +0 -1
  50. package/bundle/ms.post-3.1.11.min.js +0 -7
  51. package/bundle/ms.post-3.1.11.min.js.map +0 -1
package/dist/ms.post.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * 1DS JS SDK POST plugin, 3.1.11
2
+ * 1DS JS SDK POST plugin, 3.2.0
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  * (Microsoft Internal Only)
5
5
  */
@@ -38,6 +38,7 @@
38
38
  var strUploadTime = "upload-time";
39
39
  var strApiKey = "apikey";
40
40
  var strMsaDeviceTicket = "AuthMsaDeviceTicket";
41
+ var strAuthXToken = "AuthXToken";
41
42
  var strNoResponseBody = "NoResponseBody";
42
43
  var strMsfpc = "msfpc";
43
44
 
@@ -350,24 +351,19 @@
350
351
  var RandomizationUpperThreshold = 1.2;
351
352
  var BaseBackoff = 3000;
352
353
  var MaxBackoff = 600000;
353
- var RetryPolicy = /** @class */ (function () {
354
- function RetryPolicy() {
355
- }
356
- RetryPolicy.shouldRetryForStatus = function (httpStatusCode) {
357
- return !((httpStatusCode >= 300 && httpStatusCode < 500 && httpStatusCode != 408 && httpStatusCode != 429)
358
- || (httpStatusCode == 501)
359
- || (httpStatusCode == 505));
360
- };
361
- RetryPolicy.getMillisToBackoffForRetry = function (retriesSoFar) {
362
- var waitDuration = 0;
363
- var minBackoff = BaseBackoff * RandomizationLowerThreshold;
364
- var maxBackoff = BaseBackoff * RandomizationUpperThreshold;
365
- var randomBackoff = Math.floor(Math.random() * (maxBackoff - minBackoff)) + minBackoff;
366
- waitDuration = Math.pow(2, retriesSoFar) * randomBackoff;
367
- return Math.min(waitDuration, MaxBackoff);
368
- };
369
- return RetryPolicy;
370
- }());
354
+ function retryPolicyShouldRetryForStatus(httpStatusCode) {
355
+ return !((httpStatusCode >= 300 && httpStatusCode < 500 && httpStatusCode != 408 && httpStatusCode != 429)
356
+ || (httpStatusCode == 501)
357
+ || (httpStatusCode == 505));
358
+ }
359
+ function retryPolicyGetMillisToBackoffForRetry(retriesSoFar) {
360
+ var waitDuration = 0;
361
+ var minBackoff = BaseBackoff * RandomizationLowerThreshold;
362
+ var maxBackoff = BaseBackoff * RandomizationUpperThreshold;
363
+ var randomBackoff = Math.floor(Math.random() * (maxBackoff - minBackoff)) + minBackoff;
364
+ waitDuration = Math.pow(2, retriesSoFar) * randomBackoff;
365
+ return Math.min(waitDuration, MaxBackoff);
366
+ }
371
367
 
372
368
  var SecToMsMultiplier = 1000;
373
369
  var KillSwitch = /** @class */ (function () {
@@ -470,11 +466,19 @@
470
466
  _a);
471
467
  var _collectorQsHeaders = {};
472
468
  var _collectorHeaderToQs = {};
473
- function _addCollectorHeaderQsMapping(qsName, headerName) {
469
+ function _addCollectorHeaderQsMapping(qsName, headerName, allowQs) {
474
470
  _collectorQsHeaders[qsName] = headerName;
475
- _collectorHeaderToQs[headerName] = qsName;
471
+ if (allowQs !== false) {
472
+ _collectorHeaderToQs[headerName] = qsName;
473
+ }
476
474
  }
477
- _addCollectorHeaderQsMapping(strMsaDeviceTicket, strMsaDeviceTicket);
475
+ _addCollectorHeaderQsMapping(strMsaDeviceTicket, strMsaDeviceTicket, false);
476
+ _addCollectorHeaderQsMapping(strClientVersion, strClientVersion);
477
+ _addCollectorHeaderQsMapping(strClientId, "Client-Id");
478
+ _addCollectorHeaderQsMapping(strApiKey, strApiKey);
479
+ _addCollectorHeaderQsMapping(strTimeDeltaToApply, strTimeDeltaToApply);
480
+ _addCollectorHeaderQsMapping(strUploadTime, strUploadTime);
481
+ _addCollectorHeaderQsMapping(strAuthXToken, strAuthXToken);
478
482
  function _getResponseText(xhr) {
479
483
  try {
480
484
  return xhr.responseText;
@@ -543,7 +547,7 @@
543
547
  channelConfig = {};
544
548
  }
545
549
  _urlString = endpointUrl + _urlString;
546
- _useHeaders = !_1dsCoreJs.isUndefined(channelConfig.avoidOptions) ? !channelConfig.avoidOptions : false;
550
+ _useHeaders = !_1dsCoreJs.isUndefined(channelConfig.avoidOptions) ? !channelConfig.avoidOptions : true;
547
551
  _core = core;
548
552
  _cookieMgr = core.getCookieMgr();
549
553
  _enableEventTimings = !_core.config.disableEventTimings;
@@ -769,7 +773,7 @@
769
773
  oncomplete(status, headers, response);
770
774
  }
771
775
  catch (e) {
772
- _postManager.diagLog().throwInternal(_1dsCoreJs.LoggingSeverity.WARNING, _1dsCoreJs._ExtendedInternalMessageId.SendPostOnCompleteFailure, _1dsCoreJs.dumpObj(e));
776
+ _1dsCoreJs._throwInternal(_postManager.diagLog(), 2 , 518 , _1dsCoreJs.dumpObj(e));
773
777
  }
774
778
  }
775
779
  function _beaconSendPost(payload, oncomplete, sync) {
@@ -804,7 +808,7 @@
804
808
  }
805
809
  }
806
810
  catch (ex) {
807
- _postManager.diagLog().warnToConsole("Failed to send telemetry using sendBeacon API. Ex:" + ex);
811
+ _postManager.diagLog().warnToConsole("Failed to send telemetry using sendBeacon API. Ex:" + _1dsCoreJs.dumpObj(ex));
808
812
  status = 0;
809
813
  }
810
814
  finally {
@@ -968,7 +972,7 @@
968
972
  }, function () { return ({ batches: _createDebugBatches(orgBatches_1), retryCount: retryCount, isTeardown: isTeardown, isSynchronous: isSynchronous_1, sendReason: sendReason, useSendBeacon: _isBeaconPayload(sendType), sendType: sendType }); }, !isSynchronous_1);
969
973
  }
970
974
  catch (ex) {
971
- _postManager.diagLog().throwInternal(_1dsCoreJs.LoggingSeverity.WARNING, _1dsCoreJs._ExtendedInternalMessageId.CannotSerializeObject, "Unexpected Exception sending batch: " + _1dsCoreJs.dumpObj(ex));
975
+ _1dsCoreJs._throwInternal(_postManager.diagLog(), 2 , 48 , "Unexpected Exception sending batch: " + _1dsCoreJs.dumpObj(ex));
972
976
  }
973
977
  }
974
978
  function _buildRequestDetails(thePayload, useHeaders) {
@@ -977,8 +981,21 @@
977
981
  hdrs: {},
978
982
  useHdrs: false
979
983
  };
980
- requestDetails.hdrs = _1dsCoreJs.extend(requestDetails.hdrs, _headers);
981
- requestDetails.useHdrs = (_1dsCoreJs.objKeys(requestDetails.hdrs).length > 0);
984
+ if (!useHeaders) {
985
+ _1dsCoreJs.objForEachKey(_headers, function (name, value) {
986
+ if (_collectorHeaderToQs[name]) {
987
+ _addRequestDetails(requestDetails, _collectorHeaderToQs[name], value, false);
988
+ }
989
+ else {
990
+ requestDetails.hdrs[name] = value;
991
+ requestDetails.useHdrs = true;
992
+ }
993
+ });
994
+ }
995
+ else {
996
+ requestDetails.hdrs = _1dsCoreJs.extend(requestDetails.hdrs, _headers);
997
+ requestDetails.useHdrs = (_1dsCoreJs.objKeys(requestDetails.hdrs).length > 0);
998
+ }
982
999
  _addRequestDetails(requestDetails, strClientId, "NO_AUTH", useHeaders);
983
1000
  _addRequestDetails(requestDetails, strClientVersion, _1dsCoreJs.FullVersionString, useHeaders);
984
1001
  var apiQsKeys = "";
@@ -1164,7 +1181,7 @@
1164
1181
  reason = 200 ;
1165
1182
  return;
1166
1183
  }
1167
- if (!RetryPolicy.shouldRetryForStatus(status) || thePayload.numEvents <= 0) {
1184
+ if (!retryPolicyShouldRetryForStatus(status) || thePayload.numEvents <= 0) {
1168
1185
  shouldRetry = false;
1169
1186
  }
1170
1187
  reason = 9000 + (status % 1000);
@@ -1180,7 +1197,7 @@
1180
1197
  _outstandingRequests--;
1181
1198
  }
1182
1199
  _sendBatches(thePayload.batches, retryCount_1 + 1, thePayload.isTeardown, _isUnloading ? 2 : thePayload.sendType, 5 );
1183
- }, _isUnloading, RetryPolicy.getMillisToBackoffForRetry(retryCount_1));
1200
+ }, _isUnloading, retryPolicyGetMillisToBackoffForRetry(retryCount_1));
1184
1201
  }
1185
1202
  else {
1186
1203
  backOffTrans = true;
@@ -1276,7 +1293,7 @@
1276
1293
  responseHandlers[i](responseText);
1277
1294
  }
1278
1295
  catch (e) {
1279
- _postManager.diagLog().throwInternal(_1dsCoreJs.LoggingSeverity.CRITICAL, _1dsCoreJs._ExtendedInternalMessageId.PostResponseHandler, "Response handler failed: " + e);
1296
+ _1dsCoreJs._throwInternal(_postManager.diagLog(), 1 , 519 , "Response handler failed: " + e);
1280
1297
  }
1281
1298
  }
1282
1299
  if (responseText) {
@@ -1300,7 +1317,7 @@
1300
1317
  theAction_1.call(actions, theBatches, batchReason, isSyncRequest_1, sendType);
1301
1318
  }
1302
1319
  catch (e) {
1303
- _postManager.diagLog().throwInternal(_1dsCoreJs.LoggingSeverity.CRITICAL, _1dsCoreJs._ExtendedInternalMessageId.NotificationException, "send request notification failed: " + e);
1320
+ _1dsCoreJs._throwInternal(_postManager.diagLog(), 1 , 74 , "send request notification failed: " + e);
1304
1321
  }
1305
1322
  }, sendSync || isSyncRequest_1, 0);
1306
1323
  }, function () { return ({ batches: _createDebugBatches(theBatches), reason: batchReason, isSync: isSyncRequest_1, sendSync: sendSync, sendType: sendType }); }, !isSyncRequest_1);
@@ -1341,13 +1358,14 @@
1341
1358
  var strOverrideInstrumentationKey = "overrideInstrumentationKey";
1342
1359
  var strMaxEventRetryAttempts = "maxEventRetryAttempts";
1343
1360
  var strMaxUnloadEventRetryAttempts = "maxUnloadEventRetryAttempts";
1361
+ var strAddUnloadCb = "addUnloadCb";
1344
1362
  var PostChannel = /** @class */ (function (_super) {
1345
1363
  applicationinsightsShims.__extendsFn(PostChannel, _super);
1346
1364
  function PostChannel() {
1347
1365
  var _this = _super.call(this) || this;
1348
1366
  _this.identifier = "PostChannel";
1349
1367
  _this.priority = 1011;
1350
- _this.version = '3.1.11';
1368
+ _this.version = '3.2.0';
1351
1369
  var _config;
1352
1370
  var _isTeardownCalled = false;
1353
1371
  var _flushCallbackQueue = [];
@@ -1372,20 +1390,12 @@
1372
1390
  var _delayedBatchReason;
1373
1391
  var _optimizeObject = true;
1374
1392
  var _isPageUnloadTriggered = false;
1393
+ var _disableXhrSync = false;
1375
1394
  var _maxEventSendAttempts = MaxSendAttempts;
1376
1395
  var _maxUnloadEventSendAttempts = MaxSyncUnloadSendAttempts;
1396
+ var _evtNamespace;
1377
1397
  dynamicProto__default(PostChannel, _this, function (_self, _base) {
1378
- _initializeProfiles();
1379
- _clearQueues();
1380
- _setAutoLimits();
1381
- _httpManager = new HttpManager(MaxNumberEventPerBatch, MaxConnections, MaxRequestRetriesBeforeBackoff, {
1382
- requeue: _requeueEvents,
1383
- send: _sendingEvent,
1384
- sent: _eventsSentEvent,
1385
- drop: _eventsDropped,
1386
- rspFail: _eventsResponseFail,
1387
- oth: _otherEvent
1388
- });
1398
+ _initDefaults();
1389
1399
  _self["_getDbgPlgTargets"] = function () {
1390
1400
  return [_httpManager];
1391
1401
  };
@@ -1393,46 +1403,53 @@
1393
1403
  _1dsCoreJs.doPerf(core, function () { return "PostChannel:initialize"; }, function () {
1394
1404
  var extendedCore = core;
1395
1405
  _base.initialize(coreConfig, core, extensions);
1396
- _self.setInitialized(false);
1397
- var ctx = _self._getTelCtx();
1398
- coreConfig.extensionConfig[_self.identifier] = coreConfig.extensionConfig[_self.identifier] || {};
1399
- _config = ctx.getExtCfg(_self.identifier);
1400
- _self._setTimeoutOverride = _config.setTimeoutOverride ? _config.setTimeoutOverride : setTimeout.bind(globalContext);
1401
- _self._clearTimeoutOverride = _config.clearTimeoutOverride ? _config.clearTimeoutOverride : clearTimeout.bind(globalContext);
1402
- _optimizeObject = !_config.disableOptimizeObj && _1dsCoreJs.isChromium();
1403
- _hookWParam(extendedCore);
1404
- if (_config.eventsLimitInMem > 0) {
1405
- _queueSizeLimit = _config.eventsLimitInMem;
1406
- }
1407
- if (_config.immediateEventLimit > 0) {
1408
- _immediateQueueSizeLimit = _config.immediateEventLimit;
1409
- }
1410
- if (_config.autoFlushEventsLimit > 0) {
1411
- _autoFlushEventsLimit = _config.autoFlushEventsLimit;
1412
- }
1413
- if (_1dsCoreJs.isNumber(_config[strMaxEventRetryAttempts])) {
1414
- _maxEventSendAttempts = _config[strMaxEventRetryAttempts];
1415
- }
1416
- if (_1dsCoreJs.isNumber(_config[strMaxUnloadEventRetryAttempts])) {
1417
- _maxUnloadEventSendAttempts = _config[strMaxUnloadEventRetryAttempts];
1418
- }
1419
- _setAutoLimits();
1420
- if (_config.httpXHROverride && _config.httpXHROverride.sendPOST) {
1421
- _xhrOverride = _config.httpXHROverride;
1422
- }
1423
- if (_1dsCoreJs.isValueAssigned(coreConfig.anonCookieName)) {
1424
- _httpManager.addQueryStringParameter("anoncknm", coreConfig.anonCookieName);
1425
- }
1426
- _httpManager.sendHook = _config.payloadPreprocessor;
1427
- _httpManager.sendListener = _config.payloadListener;
1428
- var endpointUrl = _config.overrideEndpointUrl ? _config.overrideEndpointUrl : coreConfig.endpointUrl;
1429
- _self._notificationManager = coreConfig.extensionConfig.NotificationManager;
1430
- _httpManager.initialize(endpointUrl, _self.core, _self, _xhrOverride, _config);
1431
- var excludePageUnloadEvents = coreConfig.disablePageUnloadEvents || [];
1432
- _1dsCoreJs.addPageUnloadEventListener(_handleUnloadEvents, excludePageUnloadEvents);
1433
- _1dsCoreJs.addPageHideEventListener(_handleUnloadEvents, excludePageUnloadEvents);
1434
- _1dsCoreJs.addPageShowEventListener(_handleShowEvents, coreConfig.disablePageShowEvents);
1435
- _self.setInitialized(true);
1406
+ try {
1407
+ var hasAddUnloadCb = !!core[strAddUnloadCb];
1408
+ _evtNamespace = _1dsCoreJs.mergeEvtNamespace(_1dsCoreJs.createUniqueNamespace(_self.identifier), core.evtNamespace && core.evtNamespace());
1409
+ var ctx = _self._getTelCtx();
1410
+ coreConfig.extensionConfig[_self.identifier] = coreConfig.extensionConfig[_self.identifier] || {};
1411
+ _config = ctx.getExtCfg(_self.identifier);
1412
+ _self._setTimeoutOverride = _config.setTimeoutOverride ? _config.setTimeoutOverride : setTimeout.bind(globalContext);
1413
+ _self._clearTimeoutOverride = _config.clearTimeoutOverride ? _config.clearTimeoutOverride : clearTimeout.bind(globalContext);
1414
+ _optimizeObject = !_config.disableOptimizeObj && _1dsCoreJs.isChromium();
1415
+ _hookWParam(extendedCore);
1416
+ if (_config.eventsLimitInMem > 0) {
1417
+ _queueSizeLimit = _config.eventsLimitInMem;
1418
+ }
1419
+ if (_config.immediateEventLimit > 0) {
1420
+ _immediateQueueSizeLimit = _config.immediateEventLimit;
1421
+ }
1422
+ if (_config.autoFlushEventsLimit > 0) {
1423
+ _autoFlushEventsLimit = _config.autoFlushEventsLimit;
1424
+ }
1425
+ _disableXhrSync = _config.disableXhrSync;
1426
+ if (_1dsCoreJs.isNumber(_config[strMaxEventRetryAttempts])) {
1427
+ _maxEventSendAttempts = _config[strMaxEventRetryAttempts];
1428
+ }
1429
+ if (_1dsCoreJs.isNumber(_config[strMaxUnloadEventRetryAttempts])) {
1430
+ _maxUnloadEventSendAttempts = _config[strMaxUnloadEventRetryAttempts];
1431
+ }
1432
+ _setAutoLimits();
1433
+ if (_config.httpXHROverride && _config.httpXHROverride.sendPOST) {
1434
+ _xhrOverride = _config.httpXHROverride;
1435
+ }
1436
+ if (_1dsCoreJs.isValueAssigned(coreConfig.anonCookieName)) {
1437
+ _httpManager.addQueryStringParameter("anoncknm", coreConfig.anonCookieName);
1438
+ }
1439
+ _httpManager.sendHook = _config.payloadPreprocessor;
1440
+ _httpManager.sendListener = _config.payloadListener;
1441
+ var endpointUrl = _config.overrideEndpointUrl ? _config.overrideEndpointUrl : coreConfig.endpointUrl;
1442
+ _self._notificationManager = coreConfig.extensionConfig.NotificationManager;
1443
+ _httpManager.initialize(endpointUrl, _self.core, _self, _xhrOverride, _config);
1444
+ var excludePageUnloadEvents = coreConfig.disablePageUnloadEvents || [];
1445
+ _1dsCoreJs.addPageUnloadEventListener(_handleUnloadEvents, excludePageUnloadEvents, _evtNamespace);
1446
+ _1dsCoreJs.addPageHideEventListener(_handleUnloadEvents, excludePageUnloadEvents, _evtNamespace);
1447
+ _1dsCoreJs.addPageShowEventListener(_handleShowEvents, coreConfig.disablePageShowEvents, _evtNamespace);
1448
+ }
1449
+ catch (e) {
1450
+ _self.setInitialized(false);
1451
+ throw e;
1452
+ }
1436
1453
  }, function () { return ({ coreConfig: coreConfig, core: core, extensions: extensions }); });
1437
1454
  };
1438
1455
  _self.processTelemetry = function (ev, itemCtx) {
@@ -1461,6 +1478,15 @@
1461
1478
  }
1462
1479
  _self.processNext(event, itemCtx);
1463
1480
  };
1481
+ _self._doTeardown = function (unloadCtx, unloadState) {
1482
+ _releaseAllQueues(2 , 2 );
1483
+ _isTeardownCalled = true;
1484
+ _httpManager.teardown();
1485
+ _1dsCoreJs.removePageUnloadEventListener(null, _evtNamespace);
1486
+ _1dsCoreJs.removePageHideEventListener(null, _evtNamespace);
1487
+ _1dsCoreJs.removePageShowEventListener(null, _evtNamespace);
1488
+ _initDefaults();
1489
+ };
1464
1490
  function _hookWParam(extendedCore) {
1465
1491
  var existingGetWParamMethod = extendedCore.getWParam;
1466
1492
  extendedCore.getWParam = function () {
@@ -1488,7 +1514,7 @@
1488
1514
  event.sendAttempt = 0;
1489
1515
  }
1490
1516
  if (!event.latency) {
1491
- event.latency = _1dsCoreJs.EventLatency.Normal;
1517
+ event.latency = 1 ;
1492
1518
  }
1493
1519
  if (event.ext && event.ext["trace"]) {
1494
1520
  delete (event.ext["trace"]);
@@ -1507,7 +1533,7 @@
1507
1533
  }
1508
1534
  if (event.sync) {
1509
1535
  if (_currentBackoffCount || _paused) {
1510
- event.latency = _1dsCoreJs.EventLatency.RealTime;
1536
+ event.latency = 3 ;
1511
1537
  event.sync = false;
1512
1538
  }
1513
1539
  else {
@@ -1523,7 +1549,7 @@
1523
1549
  var evtLatency = event.latency;
1524
1550
  var queueSize = _queueSize;
1525
1551
  var queueLimit = _queueSizeLimit;
1526
- if (evtLatency === _1dsCoreJs.EventLatency.Immediate) {
1552
+ if (evtLatency === 4 ) {
1527
1553
  queueSize = _immediateQueueSize;
1528
1554
  queueLimit = _immediateQueueSizeLimit;
1529
1555
  }
@@ -1532,10 +1558,10 @@
1532
1558
  eventDropped = !_addEventToProperQueue(event, append);
1533
1559
  }
1534
1560
  else {
1535
- var dropLatency = _1dsCoreJs.EventLatency.Normal;
1561
+ var dropLatency = 1 ;
1536
1562
  var dropNumber = EventsDroppedAtOneTime;
1537
- if (evtLatency === _1dsCoreJs.EventLatency.Immediate) {
1538
- dropLatency = _1dsCoreJs.EventLatency.Immediate;
1563
+ if (evtLatency === 4 ) {
1564
+ dropLatency = 4 ;
1539
1565
  dropNumber = 1;
1540
1566
  }
1541
1567
  eventDropped = true;
@@ -1553,7 +1579,7 @@
1553
1579
  _setAutoLimits();
1554
1580
  var doFlush = _queueSize > eventLimit;
1555
1581
  if (!doFlush && _autoFlushBatchLimit > 0) {
1556
- for (var latency = _1dsCoreJs.EventLatency.Normal; !doFlush && latency <= _1dsCoreJs.EventLatency.RealTime; latency++) {
1582
+ for (var latency = 1 ; !doFlush && latency <= 3 ; latency++) {
1557
1583
  var batchQueue = _batchQueues[latency];
1558
1584
  if (batchQueue && batchQueue.batches) {
1559
1585
  _1dsCoreJs.arrForEach(batchQueue.batches, function (theBatch) {
@@ -1566,11 +1592,6 @@
1566
1592
  }
1567
1593
  _performAutoFlush(true, doFlush);
1568
1594
  };
1569
- _self.teardown = function () {
1570
- _releaseAllQueues(2 , 2 );
1571
- _isTeardownCalled = true;
1572
- _httpManager.teardown();
1573
- };
1574
1595
  _self.pause = function () {
1575
1596
  _clearScheduledTimer();
1576
1597
  _paused = true;
@@ -1612,7 +1633,7 @@
1612
1633
  _clearScheduledTimer();
1613
1634
  sendReason = sendReason || 1 ;
1614
1635
  if (async) {
1615
- _queueBatches(_1dsCoreJs.EventLatency.Normal, 0 , sendReason);
1636
+ _queueBatches(1 , 0 , sendReason);
1616
1637
  _resetQueueCounts();
1617
1638
  if (_flushCallbackTimerId == null) {
1618
1639
  _flushCallbackTimerId = _createTimer(function () {
@@ -1624,7 +1645,7 @@
1624
1645
  }
1625
1646
  }
1626
1647
  else {
1627
- _sendEventsForLatencyAndAbove(_1dsCoreJs.EventLatency.Normal, 1 , sendReason);
1648
+ _sendEventsForLatencyAndAbove(1 , 1 , sendReason);
1628
1649
  if (callback !== null && callback !== undefined) {
1629
1650
  callback();
1630
1651
  }
@@ -1659,7 +1680,7 @@
1659
1680
  if (immediateTimeOut >= 0) {
1660
1681
  _immediateTimerId = _createTimer(function () {
1661
1682
  _immediateTimerId = null;
1662
- _sendEventsForLatencyAndAbove(_1dsCoreJs.EventLatency.Immediate, 0 , 1 );
1683
+ _sendEventsForLatencyAndAbove(4 , 0 , 1 );
1663
1684
  _scheduleTimer();
1664
1685
  }, immediateTimeOut);
1665
1686
  }
@@ -1669,7 +1690,7 @@
1669
1690
  if (_hasEvents()) {
1670
1691
  _scheduledTimerId = _createTimer(function () {
1671
1692
  _scheduledTimerId = null;
1672
- _sendEventsForLatencyAndAbove(_timerCount === 0 ? _1dsCoreJs.EventLatency.RealTime : _1dsCoreJs.EventLatency.Normal, 0 , 1 );
1693
+ _sendEventsForLatencyAndAbove(_timerCount === 0 ? 3 : 1 , 0 , 1 );
1673
1694
  _timerCount++;
1674
1695
  _timerCount %= 2;
1675
1696
  _scheduleTimer();
@@ -1694,13 +1715,53 @@
1694
1715
  _scheduleTimer();
1695
1716
  }
1696
1717
  };
1718
+ function _initDefaults() {
1719
+ _config = null;
1720
+ _isTeardownCalled = false;
1721
+ _flushCallbackQueue = [];
1722
+ _flushCallbackTimerId = null;
1723
+ _paused = false;
1724
+ _immediateQueueSize = 0;
1725
+ _immediateQueueSizeLimit = 500;
1726
+ _queueSize = 0;
1727
+ _queueSizeLimit = 10000;
1728
+ _profiles = {};
1729
+ _currentProfile = RT_PROFILE;
1730
+ _scheduledTimerId = null;
1731
+ _immediateTimerId = null;
1732
+ _currentBackoffCount = 0;
1733
+ _timerCount = 0;
1734
+ _xhrOverride = null;
1735
+ _batchQueues = {};
1736
+ _autoFlushEventsLimit = undefined;
1737
+ _autoFlushBatchLimit = 0;
1738
+ _delayedBatchSendLatency = -1;
1739
+ _delayedBatchReason = null;
1740
+ _optimizeObject = true;
1741
+ _isPageUnloadTriggered = false;
1742
+ _disableXhrSync = false;
1743
+ _maxEventSendAttempts = MaxSendAttempts;
1744
+ _maxUnloadEventSendAttempts = MaxSyncUnloadSendAttempts;
1745
+ _evtNamespace = null;
1746
+ _httpManager = new HttpManager(MaxNumberEventPerBatch, MaxConnections, MaxRequestRetriesBeforeBackoff, {
1747
+ requeue: _requeueEvents,
1748
+ send: _sendingEvent,
1749
+ sent: _eventsSentEvent,
1750
+ drop: _eventsDropped,
1751
+ rspFail: _eventsResponseFail,
1752
+ oth: _otherEvent
1753
+ });
1754
+ _initializeProfiles();
1755
+ _clearQueues();
1756
+ _setAutoLimits();
1757
+ }
1697
1758
  function _createTimer(theTimerFunc, timeOut) {
1698
1759
  if (timeOut === 0 && _currentBackoffCount) {
1699
1760
  timeOut = 1;
1700
1761
  }
1701
1762
  var timerMultiplier = 1000;
1702
1763
  if (_currentBackoffCount) {
1703
- timerMultiplier = RetryPolicy.getMillisToBackoffForRetry(_currentBackoffCount - 1);
1764
+ timerMultiplier = retryPolicyGetMillisToBackoffForRetry(_currentBackoffCount - 1);
1704
1765
  }
1705
1766
  return _self._setTimeoutOverride(theTimerFunc, timeOut * timerMultiplier);
1706
1767
  }
@@ -1718,23 +1779,23 @@
1718
1779
  _flushCallbackTimerId = null;
1719
1780
  }
1720
1781
  if (!_paused) {
1721
- _sendEventsForLatencyAndAbove(_1dsCoreJs.EventLatency.Normal, sendType, sendReason);
1782
+ _sendEventsForLatencyAndAbove(1 , sendType, sendReason);
1722
1783
  }
1723
1784
  }
1724
1785
  function _clearQueues() {
1725
- _batchQueues[_1dsCoreJs.EventLatency.Immediate] = {
1786
+ _batchQueues[4 ] = {
1726
1787
  batches: [],
1727
1788
  iKeyMap: {}
1728
1789
  };
1729
- _batchQueues[_1dsCoreJs.EventLatency.RealTime] = {
1790
+ _batchQueues[3 ] = {
1730
1791
  batches: [],
1731
1792
  iKeyMap: {}
1732
1793
  };
1733
- _batchQueues[_1dsCoreJs.EventLatency.CostDeferred] = {
1794
+ _batchQueues[2 ] = {
1734
1795
  batches: [],
1735
1796
  iKeyMap: {}
1736
1797
  };
1737
- _batchQueues[_1dsCoreJs.EventLatency.Normal] = {
1798
+ _batchQueues[1 ] = {
1738
1799
  batches: [],
1739
1800
  iKeyMap: {}
1740
1801
  };
@@ -1742,7 +1803,7 @@
1742
1803
  function _getEventBatch(iKey, latency, create) {
1743
1804
  var batchQueue = _batchQueues[latency];
1744
1805
  if (!batchQueue) {
1745
- latency = _1dsCoreJs.EventLatency.Normal;
1806
+ latency = 1 ;
1746
1807
  batchQueue = _batchQueues[latency];
1747
1808
  }
1748
1809
  var eventBatch = batchQueue.iKeyMap[iKey];
@@ -1770,7 +1831,7 @@
1770
1831
  var latency = event.latency;
1771
1832
  var eventBatch = _getEventBatch(event.iKey, latency, true);
1772
1833
  if (eventBatch.addEvent(event)) {
1773
- if (latency !== _1dsCoreJs.EventLatency.Immediate) {
1834
+ if (latency !== 4 ) {
1774
1835
  _queueSize++;
1775
1836
  if (append && event.sendAttempt === 0) {
1776
1837
  _performAutoFlush(!event.sync, _autoFlushBatchLimit > 0 && eventBatch.count() >= _autoFlushBatchLimit);
@@ -1790,7 +1851,7 @@
1790
1851
  var droppedEvents = eventBatch.split(0, dropNumber);
1791
1852
  var droppedCount = droppedEvents.count();
1792
1853
  if (droppedCount > 0) {
1793
- if (currentLatency === _1dsCoreJs.EventLatency.Immediate) {
1854
+ if (currentLatency === 4 ) {
1794
1855
  _immediateQueueSize -= droppedCount;
1795
1856
  }
1796
1857
  else {
@@ -1812,7 +1873,7 @@
1812
1873
  var batchQueue = _batchQueues[latency];
1813
1874
  if (batchQueue && batchQueue.batches) {
1814
1875
  _1dsCoreJs.arrForEach(batchQueue.batches, function (theBatch) {
1815
- if (latency === _1dsCoreJs.EventLatency.Immediate) {
1876
+ if (latency === 4 ) {
1816
1877
  immediateQueue += theBatch.count();
1817
1878
  }
1818
1879
  else {
@@ -1821,7 +1882,7 @@
1821
1882
  });
1822
1883
  }
1823
1884
  };
1824
- for (var latency = _1dsCoreJs.EventLatency.Normal; latency <= _1dsCoreJs.EventLatency.Immediate; latency++) {
1885
+ for (var latency = 1 ; latency <= 4 ; latency++) {
1825
1886
  _loop_1(latency);
1826
1887
  }
1827
1888
  _queueSize = normalQueue;
@@ -1833,7 +1894,7 @@
1833
1894
  if (!isAsync || _httpManager.canSendRequest()) {
1834
1895
  _1dsCoreJs.doPerf(_self.core, function () { return "PostChannel._queueBatches"; }, function () {
1835
1896
  var droppedEvents = [];
1836
- var latencyToProcess = _1dsCoreJs.EventLatency.Immediate;
1897
+ var latencyToProcess = 4 ;
1837
1898
  while (latencyToProcess >= latency) {
1838
1899
  var batchQueue = _batchQueues[latencyToProcess];
1839
1900
  if (batchQueue && batchQueue.batches && batchQueue.batches.length > 0) {
@@ -1844,7 +1905,7 @@
1844
1905
  else {
1845
1906
  eventsQueued = eventsQueued || (theBatch && theBatch.count() > 0);
1846
1907
  }
1847
- if (latencyToProcess === _1dsCoreJs.EventLatency.Immediate) {
1908
+ if (latencyToProcess === 4 ) {
1848
1909
  _immediateQueueSize -= theBatch.count();
1849
1910
  }
1850
1911
  else {
@@ -1872,7 +1933,7 @@
1872
1933
  return eventsQueued;
1873
1934
  }
1874
1935
  function _flushImpl(callback, sendReason) {
1875
- _sendEventsForLatencyAndAbove(_1dsCoreJs.EventLatency.Normal, 0 , sendReason);
1936
+ _sendEventsForLatencyAndAbove(1 , 0 , sendReason);
1876
1937
  _waitForIdleManager(function () {
1877
1938
  if (callback) {
1878
1939
  callback();
@@ -1921,7 +1982,7 @@
1921
1982
  _1dsCoreJs.arrForEach(theBatch.events(), function (theEvent) {
1922
1983
  if (theEvent) {
1923
1984
  if (theEvent.sync) {
1924
- theEvent.latency = _1dsCoreJs.EventLatency.Immediate;
1985
+ theEvent.latency = 4 ;
1925
1986
  theEvent.sync = false;
1926
1987
  }
1927
1988
  if (theEvent.sendAttempt < maxSendAttempts) {
@@ -1950,7 +2011,7 @@
1950
2011
  notifyFunc.apply(manager, theArgs);
1951
2012
  }
1952
2013
  catch (e) {
1953
- _self.diagLog().throwInternal(_1dsCoreJs.LoggingSeverity.CRITICAL, _1dsCoreJs._ExtendedInternalMessageId.NotificationException, evtName + " notification failed: " + e);
2014
+ _1dsCoreJs._throwInternal(_self.diagLog(), 1 , 74 , evtName + " notification failed: " + e);
1954
2015
  }
1955
2016
  }
1956
2017
  }