@microsoft/1ds-post-js 3.2.6 → 3.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/bundle/{ms.post-3.2.6.gbl.js → ms.post-3.2.8.gbl.js} +132 -85
- package/bundle/ms.post-3.2.8.gbl.js.map +1 -0
- package/bundle/ms.post-3.2.8.gbl.min.js +7 -0
- package/bundle/ms.post-3.2.8.gbl.min.js.map +1 -0
- package/bundle/ms.post-3.2.8.integrity.json +46 -0
- package/bundle/{ms.post-3.2.6.js → ms.post-3.2.8.js} +132 -85
- package/bundle/ms.post-3.2.8.js.map +1 -0
- package/bundle/ms.post-3.2.8.min.js +7 -0
- package/bundle/ms.post-3.2.8.min.js.map +1 -0
- package/bundle/ms.post.gbl.js +131 -84
- package/bundle/ms.post.gbl.js.map +1 -1
- package/bundle/ms.post.gbl.min.js +2 -2
- package/bundle/ms.post.gbl.min.js.map +1 -1
- package/bundle/ms.post.integrity.json +17 -17
- package/bundle/ms.post.js +131 -84
- package/bundle/ms.post.js.map +1 -1
- package/bundle/ms.post.min.js +2 -2
- package/bundle/ms.post.min.js.map +1 -1
- package/dist/ms.post.js +56 -37
- package/dist/ms.post.js.map +1 -1
- package/dist/ms.post.min.js +2 -2
- package/dist/ms.post.min.js.map +1 -1
- package/dist-esm/src/BatchNotificationActions.js +1 -1
- package/dist-esm/src/ClockSkewManager.js +1 -1
- package/dist-esm/src/DataModels.d.ts +24 -3
- package/dist-esm/src/DataModels.js +1 -1
- package/dist-esm/src/EventBatch.js +3 -3
- package/dist-esm/src/EventBatch.js.map +1 -1
- package/dist-esm/src/HttpManager.js +51 -32
- package/dist-esm/src/HttpManager.js.map +1 -1
- package/dist-esm/src/Index.js +1 -1
- package/dist-esm/src/InternalConstants.d.ts +1 -0
- package/dist-esm/src/InternalConstants.js +2 -1
- package/dist-esm/src/InternalConstants.js.map +1 -1
- package/dist-esm/src/KillSwitch.js +1 -1
- package/dist-esm/src/PostChannel.js +3 -3
- package/dist-esm/src/PostChannel.js.map +1 -1
- package/dist-esm/src/RetryPolicy.js +1 -1
- package/dist-esm/src/Serializer.d.ts +3 -3
- package/dist-esm/src/Serializer.js +5 -4
- package/dist-esm/src/Serializer.js.map +1 -1
- package/dist-esm/src/TimeoutOverrideWrapper.js +1 -1
- package/dist-esm/src/typings/XDomainRequest.js +1 -1
- package/package.json +4 -4
- package/src/DataModels.ts +26 -1
- package/src/EventBatch.ts +2 -2
- package/src/HttpManager.ts +59 -34
- package/src/InternalConstants.ts +1 -0
- package/src/PostChannel.ts +1 -1
- package/src/Serializer.ts +12 -11
- package/bundle/ms.post-3.2.6.gbl.js.map +0 -1
- package/bundle/ms.post-3.2.6.gbl.min.js +0 -7
- package/bundle/ms.post-3.2.6.gbl.min.js.map +0 -1
- package/bundle/ms.post-3.2.6.integrity.json +0 -46
- package/bundle/ms.post-3.2.6.js.map +0 -1
- package/bundle/ms.post-3.2.6.min.js +0 -7
- package/bundle/ms.post-3.2.6.min.js.map +0 -1
package/dist/ms.post.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* 1DS JS SDK POST plugin, 3.2.
|
|
2
|
+
* 1DS JS SDK POST plugin, 3.2.8
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
* (Microsoft Internal Only)
|
|
5
5
|
*/
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
var NRT_PROFILE = "NEAR_REAL_TIME";
|
|
18
18
|
var BE_PROFILE = "BEST_EFFORT";
|
|
19
19
|
|
|
20
|
+
var STR_EMPTY = "";
|
|
20
21
|
var STR_POST_METHOD = "POST";
|
|
21
22
|
var STR_DISABLED_PROPERTY_NAME = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
|
|
22
23
|
var STR_DROPPED = "drop";
|
|
@@ -67,7 +68,7 @@
|
|
|
67
68
|
return iKey;
|
|
68
69
|
};
|
|
69
70
|
_self.Msfpc = function () {
|
|
70
|
-
return _msfpc ||
|
|
71
|
+
return _msfpc || STR_EMPTY;
|
|
71
72
|
};
|
|
72
73
|
_self.count = function () {
|
|
73
74
|
return events.length;
|
|
@@ -231,10 +232,10 @@
|
|
|
231
232
|
var _theSanitizer = valueSanitizer;
|
|
232
233
|
var _isReservedCache = {};
|
|
233
234
|
dynamicProto__default(Serializer, this, function (_self) {
|
|
234
|
-
_self.createPayload = function (retryCnt, isTeardown, isSync,
|
|
235
|
+
_self.createPayload = function (retryCnt, isTeardown, isSync, isReducedPayload, sendReason, sendType) {
|
|
235
236
|
return {
|
|
236
237
|
apiKeys: [],
|
|
237
|
-
payloadBlob:
|
|
238
|
+
payloadBlob: STR_EMPTY,
|
|
238
239
|
overflow: null,
|
|
239
240
|
sizeExceed: [],
|
|
240
241
|
failedEvts: [],
|
|
@@ -243,7 +244,7 @@
|
|
|
243
244
|
retryCnt: retryCnt,
|
|
244
245
|
isTeardown: isTeardown,
|
|
245
246
|
isSync: isSync,
|
|
246
|
-
isBeacon:
|
|
247
|
+
isBeacon: isReducedPayload,
|
|
247
248
|
sendType: sendType,
|
|
248
249
|
sendReason: sendReason
|
|
249
250
|
};
|
|
@@ -490,7 +491,7 @@
|
|
|
490
491
|
}
|
|
491
492
|
catch (e) {
|
|
492
493
|
}
|
|
493
|
-
return
|
|
494
|
+
return STR_EMPTY;
|
|
494
495
|
}
|
|
495
496
|
function _hasHeader(headers, header) {
|
|
496
497
|
var hasHeader = false;
|
|
@@ -521,6 +522,17 @@
|
|
|
521
522
|
}
|
|
522
523
|
}
|
|
523
524
|
}
|
|
525
|
+
function _prependTransports(theTransports, newTransports) {
|
|
526
|
+
if (newTransports) {
|
|
527
|
+
if (_1dsCoreJs.isNumber(newTransports)) {
|
|
528
|
+
theTransports = [newTransports].concat(theTransports);
|
|
529
|
+
}
|
|
530
|
+
else if (_1dsCoreJs.isArray(newTransports)) {
|
|
531
|
+
theTransports = newTransports.concat(theTransports);
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
return theTransports;
|
|
535
|
+
}
|
|
524
536
|
var HttpManager = /** @class */ (function () {
|
|
525
537
|
function HttpManager(maxEventsPerBatch, maxConnections, maxRequestRetriesBeforeBackoff, actions, timeoutOverride) {
|
|
526
538
|
this._responseHandlers = [];
|
|
@@ -545,6 +557,9 @@
|
|
|
545
557
|
var _useHeaders = false;
|
|
546
558
|
var _xhrTimeout;
|
|
547
559
|
var _disableXhrSync;
|
|
560
|
+
var _disableFetchKeepAlive;
|
|
561
|
+
var _canHaveReducedPayload;
|
|
562
|
+
var _addNoResponse;
|
|
548
563
|
dynamicProto__default(HttpManager, this, function (_self) {
|
|
549
564
|
var _sendCredentials = true;
|
|
550
565
|
_self.initialize = function (endpointUrl, core, postChannel, httpInterface, channelConfig) {
|
|
@@ -566,12 +581,18 @@
|
|
|
566
581
|
enableCompoundKey = !!channelConfig.enableCompoundKey;
|
|
567
582
|
}
|
|
568
583
|
_xhrTimeout = channelConfig.xhrTimeout;
|
|
569
|
-
_disableXhrSync = channelConfig.disableXhrSync;
|
|
584
|
+
_disableXhrSync = !!channelConfig.disableXhrSync;
|
|
585
|
+
_disableFetchKeepAlive = !!channelConfig.disableFetchKeepAlive;
|
|
586
|
+
_addNoResponse = channelConfig.addNoResponse !== false;
|
|
570
587
|
_useBeacons = !_1dsCoreJs.isReactNative();
|
|
571
588
|
_serializer = new Serializer(_core, valueSanitizer, stringifyObjects, enableCompoundKey);
|
|
589
|
+
if (!_1dsCoreJs.isNullOrUndefined(channelConfig.useSendBeacon)) {
|
|
590
|
+
_useBeacons = !!channelConfig.useSendBeacon;
|
|
591
|
+
}
|
|
572
592
|
var syncHttpInterface = httpInterface;
|
|
573
593
|
var beaconHttpInterface = channelConfig.alwaysUseXhrOverride ? httpInterface : null;
|
|
574
594
|
var fetchSyncHttpInterface = channelConfig.alwaysUseXhrOverride ? httpInterface : null;
|
|
595
|
+
var beaconUnloadTransports = [3 , 2 ];
|
|
575
596
|
if (!httpInterface) {
|
|
576
597
|
_customHttpInterface = false;
|
|
577
598
|
var location_1 = _1dsCoreJs.getLocation();
|
|
@@ -581,29 +602,27 @@
|
|
|
581
602
|
var theTransports = [];
|
|
582
603
|
if (_1dsCoreJs.isReactNative()) {
|
|
583
604
|
theTransports = [2 , 1 ];
|
|
605
|
+
beaconUnloadTransports = [2 , 1 , 3 ];
|
|
584
606
|
}
|
|
585
607
|
else {
|
|
586
608
|
theTransports = [1 , 2 , 3 ];
|
|
587
609
|
}
|
|
588
|
-
|
|
589
|
-
if (configTransports) {
|
|
590
|
-
if (_1dsCoreJs.isNumber(configTransports)) {
|
|
591
|
-
theTransports = [configTransports].concat(theTransports);
|
|
592
|
-
}
|
|
593
|
-
else if (_1dsCoreJs.isArray(configTransports)) {
|
|
594
|
-
theTransports = configTransports.concat(theTransports);
|
|
595
|
-
}
|
|
596
|
-
}
|
|
610
|
+
theTransports = _prependTransports(theTransports, channelConfig.transports);
|
|
597
611
|
httpInterface = _getSenderInterface(theTransports, false);
|
|
598
|
-
syncHttpInterface = _getSenderInterface(theTransports, true);
|
|
599
612
|
if (!httpInterface) {
|
|
600
613
|
_1dsCoreJs._warnToConsole(_logger, "No available transport to send events");
|
|
601
614
|
}
|
|
615
|
+
syncHttpInterface = _getSenderInterface(theTransports, true);
|
|
616
|
+
}
|
|
617
|
+
if (!beaconHttpInterface) {
|
|
618
|
+
beaconUnloadTransports = _prependTransports(beaconUnloadTransports, channelConfig.unloadTransports);
|
|
619
|
+
beaconHttpInterface = _getSenderInterface(beaconUnloadTransports, true);
|
|
602
620
|
}
|
|
621
|
+
_canHaveReducedPayload = !_customHttpInterface && ((_useBeacons && _1dsCoreJs.isBeaconsSupported()) || (!_disableFetchKeepAlive && _1dsCoreJs.isFetchSupported(true)));
|
|
603
622
|
_sendInterfaces = (_a = {},
|
|
604
623
|
_a[0 ] = httpInterface,
|
|
605
624
|
_a[1 ] = syncHttpInterface || _getSenderInterface([1 , 2 , 3 ], true),
|
|
606
|
-
_a[2 ] = beaconHttpInterface ||
|
|
625
|
+
_a[2 ] = beaconHttpInterface || syncHttpInterface || _getSenderInterface([1 ], true),
|
|
607
626
|
_a[3 ] = fetchSyncHttpInterface || _getSenderInterface([2 , 3 ], true) || syncHttpInterface || _getSenderInterface([1 ], true),
|
|
608
627
|
_a);
|
|
609
628
|
};
|
|
@@ -621,7 +640,7 @@
|
|
|
621
640
|
sendPostFunc = _xhrSendPost;
|
|
622
641
|
}
|
|
623
642
|
}
|
|
624
|
-
else if (transportType === 2 && _1dsCoreJs.isFetchSupported(syncSupport)) {
|
|
643
|
+
else if (transportType === 2 && _1dsCoreJs.isFetchSupported(syncSupport) && (!syncSupport || (syncSupport && !_disableFetchKeepAlive))) {
|
|
625
644
|
sendPostFunc = _fetchSendPost;
|
|
626
645
|
}
|
|
627
646
|
else if (_useBeacons && transportType === 3 && _1dsCoreJs.isBeaconsSupported()) {
|
|
@@ -683,7 +702,9 @@
|
|
|
683
702
|
requestInit.keepalive = true;
|
|
684
703
|
if (payload._sendReason === 2 ) {
|
|
685
704
|
ignoreResponse = true;
|
|
686
|
-
|
|
705
|
+
if (_addNoResponse) {
|
|
706
|
+
theUrl += _noResponseQs;
|
|
707
|
+
}
|
|
687
708
|
}
|
|
688
709
|
}
|
|
689
710
|
if (_sendCredentials) {
|
|
@@ -694,7 +715,7 @@
|
|
|
694
715
|
}
|
|
695
716
|
fetch(theUrl, requestInit).then(function (response) {
|
|
696
717
|
var headerMap = {};
|
|
697
|
-
var responseText =
|
|
718
|
+
var responseText = STR_EMPTY;
|
|
698
719
|
var headers = response.headers;
|
|
699
720
|
if (headers) {
|
|
700
721
|
headers["forEach"](function (value, name) {
|
|
@@ -788,7 +809,7 @@
|
|
|
788
809
|
var internalPayloadData = payload;
|
|
789
810
|
var status = 200;
|
|
790
811
|
var thePayload = internalPayloadData._thePayload;
|
|
791
|
-
var theUrl = payload.urlString + _noResponseQs;
|
|
812
|
+
var theUrl = payload.urlString + (_addNoResponse ? _noResponseQs : STR_EMPTY);
|
|
792
813
|
try {
|
|
793
814
|
var nav_1 = _1dsCoreJs.getNavigator();
|
|
794
815
|
if (!nav_1.sendBeacon(theUrl, payload.data)) {
|
|
@@ -820,7 +841,7 @@
|
|
|
820
841
|
status = 0;
|
|
821
842
|
}
|
|
822
843
|
finally {
|
|
823
|
-
_doOnComplete(oncomplete, status, {},
|
|
844
|
+
_doOnComplete(oncomplete, status, {}, STR_EMPTY);
|
|
824
845
|
}
|
|
825
846
|
}
|
|
826
847
|
function _isBeaconPayload(sendType) {
|
|
@@ -945,12 +966,13 @@
|
|
|
945
966
|
var thePayload = null;
|
|
946
967
|
var serializationStart = _1dsCoreJs.getTime();
|
|
947
968
|
var sendInterface = _sendInterfaces[sendType] || (isSynchronous_1 ? _sendInterfaces[1 ] : _sendInterfaces[0 ]);
|
|
948
|
-
var
|
|
969
|
+
var sendTransport = sendInterface && sendInterface._transport;
|
|
970
|
+
var isReducedPayload = _canHaveReducedPayload && (_isUnloading || _isBeaconPayload(sendType) || (sendTransport === 3 || (sendInterface._isSync && sendTransport === 2 )));
|
|
949
971
|
while (_canSendPayload(theBatches, sendType, retryCount)) {
|
|
950
972
|
var theBatch = theBatches.shift();
|
|
951
973
|
if (theBatch && theBatch.count() > 0) {
|
|
952
974
|
if (!_killSwitch.isTenantKilled(theBatch.iKey())) {
|
|
953
|
-
thePayload = thePayload || _serializer.createPayload(retryCount, isTeardown, isSynchronous_1,
|
|
975
|
+
thePayload = thePayload || _serializer.createPayload(retryCount, isTeardown, isSynchronous_1, isReducedPayload, sendReason, sendType);
|
|
954
976
|
if (!_serializer.appendPayload(thePayload, theBatch, maxEventsPerBatch)) {
|
|
955
977
|
_doPayloadSend(thePayload, serializationStart, _1dsCoreJs.getTime(), sendReason);
|
|
956
978
|
serializationStart = _1dsCoreJs.getTime();
|
|
@@ -1006,7 +1028,7 @@
|
|
|
1006
1028
|
}
|
|
1007
1029
|
_addRequestDetails(requestDetails, STR_CLIENT_ID, "NO_AUTH", useHeaders);
|
|
1008
1030
|
_addRequestDetails(requestDetails, STR_CLIENT_VERSION, _1dsCoreJs.FullVersionString, useHeaders);
|
|
1009
|
-
var apiQsKeys =
|
|
1031
|
+
var apiQsKeys = STR_EMPTY;
|
|
1010
1032
|
_1dsCoreJs.arrForEach(thePayload.apiKeys, function (apiKey) {
|
|
1011
1033
|
if (apiQsKeys.length > 0) {
|
|
1012
1034
|
apiQsKeys += ",";
|
|
@@ -1033,9 +1055,6 @@
|
|
|
1033
1055
|
}
|
|
1034
1056
|
return requestDetails;
|
|
1035
1057
|
}
|
|
1036
|
-
function _canUseSendBeaconApi() {
|
|
1037
|
-
return !_customHttpInterface && _useBeacons && _1dsCoreJs.isBeaconsSupported();
|
|
1038
|
-
}
|
|
1039
1058
|
function _setTimingValue(timings, name, value) {
|
|
1040
1059
|
timings[name] = timings[name] || {};
|
|
1041
1060
|
timings[name][_postManager.identifier] = value;
|
|
@@ -1076,11 +1095,10 @@
|
|
|
1076
1095
|
headers: requestDetails_1.hdrs,
|
|
1077
1096
|
_thePayload: thePayload,
|
|
1078
1097
|
_sendReason: sendReason,
|
|
1079
|
-
timeout: _xhrTimeout
|
|
1098
|
+
timeout: _xhrTimeout,
|
|
1099
|
+
disableXhrSync: _disableXhrSync,
|
|
1100
|
+
disableFetchKeepAlive: _disableFetchKeepAlive
|
|
1080
1101
|
};
|
|
1081
|
-
if (!_1dsCoreJs.isUndefined(_disableXhrSync)) {
|
|
1082
|
-
orgPayloadData.disableXhrSync = !!_disableXhrSync;
|
|
1083
|
-
}
|
|
1084
1102
|
if (useHeaders_1) {
|
|
1085
1103
|
if (!_hasHeader(orgPayloadData.headers, STR_CACHE_CONTROL)) {
|
|
1086
1104
|
orgPayloadData.headers[STR_CACHE_CONTROL] = DEFAULT_CACHE_CONTROL;
|
|
@@ -1120,7 +1138,8 @@
|
|
|
1120
1138
|
urlString: orgPayloadData.urlString,
|
|
1121
1139
|
headers: _1dsCoreJs.extend({}, orgPayloadData.headers),
|
|
1122
1140
|
timeout: orgPayloadData.timeout,
|
|
1123
|
-
disableXhrSync: orgPayloadData.disableXhrSync
|
|
1141
|
+
disableXhrSync: orgPayloadData.disableXhrSync,
|
|
1142
|
+
disableFetchKeepAlive: orgPayloadData.disableFetchKeepAlive
|
|
1124
1143
|
};
|
|
1125
1144
|
var senderCalled_1 = false;
|
|
1126
1145
|
_1dsCoreJs.doPerf(_core, function () { return "HttpManager:_doPayloadSend.sendHook"; }, function () {
|
|
@@ -1291,7 +1310,7 @@
|
|
|
1291
1310
|
return encodeURIComponent(msfpc);
|
|
1292
1311
|
}
|
|
1293
1312
|
}
|
|
1294
|
-
return
|
|
1313
|
+
return STR_EMPTY;
|
|
1295
1314
|
}
|
|
1296
1315
|
function _handleCollectorResponse(responseText) {
|
|
1297
1316
|
var responseHandlers = _self._responseHandlers;
|
|
@@ -1390,7 +1409,7 @@
|
|
|
1390
1409
|
var _this = _super.call(this) || this;
|
|
1391
1410
|
_this.identifier = "PostChannel";
|
|
1392
1411
|
_this.priority = 1011;
|
|
1393
|
-
_this.version = '3.2.
|
|
1412
|
+
_this.version = '3.2.8';
|
|
1394
1413
|
var _config;
|
|
1395
1414
|
var _isTeardownCalled = false;
|
|
1396
1415
|
var _flushCallbackQueue = [];
|
|
@@ -1462,7 +1481,7 @@
|
|
|
1462
1481
|
_httpManager.sendHook = _config.payloadPreprocessor;
|
|
1463
1482
|
_httpManager.sendListener = _config.payloadListener;
|
|
1464
1483
|
var endpointUrl = _config.overrideEndpointUrl ? _config.overrideEndpointUrl : coreConfig.endpointUrl;
|
|
1465
|
-
_self._notificationManager =
|
|
1484
|
+
_self._notificationManager = core.getNotifyMgr();
|
|
1466
1485
|
_httpManager.initialize(endpointUrl, _self.core, _self, _xhrOverride, _config);
|
|
1467
1486
|
var excludePageUnloadEvents = coreConfig.disablePageUnloadEvents || [];
|
|
1468
1487
|
_1dsCoreJs.addPageUnloadEventListener(_handleUnloadEvents, excludePageUnloadEvents, _evtNamespace);
|