@microsoft/1ds-post-js 3.1.10 → 3.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +123 -5
- package/bundle/{ms.post-3.1.10.gbl.js → ms.post-3.1.11.gbl.js} +163 -86
- package/bundle/ms.post-3.1.11.gbl.js.map +1 -0
- package/bundle/ms.post-3.1.11.gbl.min.js +7 -0
- package/bundle/ms.post-3.1.11.gbl.min.js.map +1 -0
- package/bundle/ms.post-3.1.11.integrity.json +46 -0
- package/bundle/{ms.post-3.1.10.js → ms.post-3.1.11.js} +163 -86
- package/bundle/ms.post-3.1.11.js.map +1 -0
- package/bundle/ms.post-3.1.11.min.js +7 -0
- package/bundle/ms.post-3.1.11.min.js.map +1 -0
- package/bundle/ms.post.gbl.js +162 -85
- 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 +162 -85
- 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 +101 -47
- 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/Constants.d.ts +1 -0
- package/dist-esm/src/Constants.js +2 -1
- package/dist-esm/src/Constants.js.map +1 -1
- package/dist-esm/src/DataModels.d.ts +49 -0
- package/dist-esm/src/DataModels.js +1 -1
- package/dist-esm/src/EventBatch.js +1 -1
- package/dist-esm/src/HttpManager.d.ts +1 -1
- package/dist-esm/src/HttpManager.js +63 -24
- package/dist-esm/src/HttpManager.js.map +1 -1
- package/dist-esm/src/Index.js +1 -1
- package/dist-esm/src/KillSwitch.js +1 -1
- package/dist-esm/src/PostChannel.js +51 -28
- package/dist-esm/src/PostChannel.js.map +1 -1
- package/dist-esm/src/RetryPolicy.js +1 -1
- package/dist-esm/src/Serializer.js +1 -1
- package/dist-esm/src/typings/XDomainRequest.js +1 -1
- package/package.json +2 -2
- package/src/Constants.ts +1 -0
- package/src/DataModels.ts +62 -1
- package/src/HttpManager.ts +67 -22
- package/src/PostChannel.ts +56 -28
- package/bundle/ms.post-3.1.10.gbl.js.map +0 -1
- package/bundle/ms.post-3.1.10.gbl.min.js +0 -7
- package/bundle/ms.post-3.1.10.gbl.min.js.map +0 -1
- package/bundle/ms.post-3.1.10.integrity.json +0 -46
- package/bundle/ms.post-3.1.10.js.map +0 -1
- package/bundle/ms.post-3.1.10.min.js +0 -7
- package/bundle/ms.post-3.1.10.min.js.map +0 -1
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ms.post",
|
|
3
|
+
"version": "3.1.11",
|
|
4
|
+
"ext": {
|
|
5
|
+
"@gbl.js": {
|
|
6
|
+
"file": "ms.post-3.1.11.gbl.js",
|
|
7
|
+
"type": "text/javascript; charset=utf-8",
|
|
8
|
+
"integrity": "sha256-fs7auGv7CFhKGV70Kh4EWHdbnCL6vLAc4jBHHFCPOs0= sha384-4ZepeHunU/pSb8e6nhZ6iwwxqphyojf+nKRTgwbSR9AbUcoseXvDHSVLS/T1CpEh sha512-+sRX2mbp3EMV87qb+3OK0kSoPwZeTUQ8QEiQLD3AyzZP9xWs4GZbDXtYEyMv0Vg7u+RGAPkCPdDgaeosYP298A==",
|
|
9
|
+
"hashes": {
|
|
10
|
+
"sha256": "fs7auGv7CFhKGV70Kh4EWHdbnCL6vLAc4jBHHFCPOs0=",
|
|
11
|
+
"sha384": "4ZepeHunU/pSb8e6nhZ6iwwxqphyojf+nKRTgwbSR9AbUcoseXvDHSVLS/T1CpEh",
|
|
12
|
+
"sha512": "+sRX2mbp3EMV87qb+3OK0kSoPwZeTUQ8QEiQLD3AyzZP9xWs4GZbDXtYEyMv0Vg7u+RGAPkCPdDgaeosYP298A=="
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"@gbl.min.js": {
|
|
16
|
+
"file": "ms.post-3.1.11.gbl.min.js",
|
|
17
|
+
"type": "text/javascript; charset=utf-8",
|
|
18
|
+
"integrity": "sha256-9AH01yS9tmUM/2Zh+0XK6EzIvo+FSTAUYGwih9Q7zVA= sha384-KNg7AspX2gBB31pjB+TVaHpmL+irHBVlbcx6pNHni1Kj8BJPIttyVkT0Cga6xrbe sha512-NWVgzk0eBI874IbmPrLdpoNjydYs8OGsdmLyj25/vMvFC+7O9AF7k9ZhUzXr3DYBYvZGxnv5TrX9eRPqlhB7/A==",
|
|
19
|
+
"hashes": {
|
|
20
|
+
"sha256": "9AH01yS9tmUM/2Zh+0XK6EzIvo+FSTAUYGwih9Q7zVA=",
|
|
21
|
+
"sha384": "KNg7AspX2gBB31pjB+TVaHpmL+irHBVlbcx6pNHni1Kj8BJPIttyVkT0Cga6xrbe",
|
|
22
|
+
"sha512": "NWVgzk0eBI874IbmPrLdpoNjydYs8OGsdmLyj25/vMvFC+7O9AF7k9ZhUzXr3DYBYvZGxnv5TrX9eRPqlhB7/A=="
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"@js": {
|
|
26
|
+
"file": "ms.post-3.1.11.js",
|
|
27
|
+
"type": "text/javascript; charset=utf-8",
|
|
28
|
+
"integrity": "sha256-DroO44rWarmqY3kcDEO10wAoTEh2D4rFlfRNNgeKMAs= sha384-cUaE7+DQrur1yymQhriSIM1wPdAvkATbrzQaVvDOkRpkYHjw4JQBXao4xaAl7h9g sha512-2xmGWGFTXjbb8o+qZ/KdlplheplhdqYD3WN/KbTdV7N+tNij4tGl8al1ijXmWn+PrfJOw+PmsVOODBm29xAlXg==",
|
|
29
|
+
"hashes": {
|
|
30
|
+
"sha256": "DroO44rWarmqY3kcDEO10wAoTEh2D4rFlfRNNgeKMAs=",
|
|
31
|
+
"sha384": "cUaE7+DQrur1yymQhriSIM1wPdAvkATbrzQaVvDOkRpkYHjw4JQBXao4xaAl7h9g",
|
|
32
|
+
"sha512": "2xmGWGFTXjbb8o+qZ/KdlplheplhdqYD3WN/KbTdV7N+tNij4tGl8al1ijXmWn+PrfJOw+PmsVOODBm29xAlXg=="
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"@min.js": {
|
|
36
|
+
"file": "ms.post-3.1.11.min.js",
|
|
37
|
+
"type": "text/javascript; charset=utf-8",
|
|
38
|
+
"integrity": "sha256-lh+jfY3V1unwU96mpKNX2tYmts9DVf8DXk0GNAiHezg= sha384-uiUUIMdrB5yFipGG5xGNYaRVp60QEvRV1CFbEgltRzjuL0OXSjPkn7WBd/5b37/Z sha512-FoEs9VczJMy6Ef7TRA47CYuj5JACndbMrhrP066Fnl7Bwt6NdcSZBlUIFE82ismeXQdKWCuWVDZppFYzsvXw7A==",
|
|
39
|
+
"hashes": {
|
|
40
|
+
"sha256": "lh+jfY3V1unwU96mpKNX2tYmts9DVf8DXk0GNAiHezg=",
|
|
41
|
+
"sha384": "uiUUIMdrB5yFipGG5xGNYaRVp60QEvRV1CFbEgltRzjuL0OXSjPkn7WBd/5b37/Z",
|
|
42
|
+
"sha512": "FoEs9VczJMy6Ef7TRA47CYuj5JACndbMrhrP066Fnl7Bwt6NdcSZBlUIFE82ismeXQdKWCuWVDZppFYzsvXw7A=="
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* 1DS JS SDK POST plugin, 3.1.
|
|
2
|
+
* 1DS JS SDK POST plugin, 3.1.11
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
* (Microsoft Internal Only)
|
|
5
5
|
*/
|
|
@@ -438,10 +438,19 @@
|
|
|
438
438
|
var strOnPrefix = "on";
|
|
439
439
|
var strAttachEvent = "attachEvent";
|
|
440
440
|
var strAddEventHelper = "addEventListener";
|
|
441
|
+
var cStrStartsWith = "startsWith";
|
|
442
|
+
var strIndexOf = "indexOf";
|
|
443
|
+
var cStrTrim = "trim";
|
|
444
|
+
var strToString = "toString";
|
|
441
445
|
var _objDefineProperty = ObjDefineProperty;
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
446
|
+
var _objKeys = ObjClass.keys;
|
|
447
|
+
var StringProto = String[strShimPrototype];
|
|
448
|
+
var _strTrim = StringProto[cStrTrim];
|
|
449
|
+
var _strStartsWith = StringProto[cStrStartsWith];
|
|
450
|
+
var _isArray = Array.isArray;
|
|
451
|
+
var _objToString = ObjProto[strToString];
|
|
452
|
+
var _fnToString = ObjHasOwnProperty[strToString];
|
|
453
|
+
_fnToString.call(ObjClass);
|
|
445
454
|
function isUndefined(value) {
|
|
446
455
|
return value === undefined || typeof value === strShimUndefined;
|
|
447
456
|
}
|
|
@@ -449,13 +458,13 @@
|
|
|
449
458
|
return (value === null || isUndefined(value));
|
|
450
459
|
}
|
|
451
460
|
function hasOwnProperty(obj, prop) {
|
|
452
|
-
return obj && ObjHasOwnProperty.call(obj, prop);
|
|
461
|
+
return !!(obj && ObjHasOwnProperty.call(obj, prop));
|
|
453
462
|
}
|
|
454
463
|
function isObject(value) {
|
|
455
|
-
return typeof value === strShimObject;
|
|
464
|
+
return !!(value && typeof value === strShimObject);
|
|
456
465
|
}
|
|
457
466
|
function isFunction(value) {
|
|
458
|
-
return typeof value === strShimFunction;
|
|
467
|
+
return !!(value && typeof value === strShimFunction);
|
|
459
468
|
}
|
|
460
469
|
function attachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {
|
|
461
470
|
if (useCapture === void 0) { useCapture = false; }
|
|
@@ -487,24 +496,27 @@
|
|
|
487
496
|
}
|
|
488
497
|
function strStartsWith(value, checkValue) {
|
|
489
498
|
var result = false;
|
|
490
|
-
if (value && checkValue) {
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
499
|
+
if (value && checkValue && !(result = value === checkValue)) {
|
|
500
|
+
result = _strStartsWith ? value[cStrStartsWith](checkValue) : _strStartsWithPoly(value, checkValue);
|
|
501
|
+
}
|
|
502
|
+
return result;
|
|
503
|
+
}
|
|
504
|
+
function _strStartsWithPoly(value, checkValue) {
|
|
505
|
+
var result = false;
|
|
506
|
+
var chkLen = checkValue ? checkValue.length : 0;
|
|
507
|
+
if (value && chkLen && value.length >= chkLen && !(result = value === checkValue)) {
|
|
508
|
+
for (var lp = 0; lp < chkLen; lp++) {
|
|
509
|
+
if (value[lp] !== checkValue[lp]) {
|
|
510
|
+
return false;
|
|
500
511
|
}
|
|
501
|
-
result = true;
|
|
502
512
|
}
|
|
513
|
+
result = true;
|
|
503
514
|
}
|
|
504
515
|
return result;
|
|
505
516
|
}
|
|
506
|
-
|
|
507
|
-
|
|
517
|
+
var isArray = _isArray || _isArrayPoly;
|
|
518
|
+
function _isArrayPoly(obj) {
|
|
519
|
+
return !!(obj && _objToString.call(obj) === "[object Array]");
|
|
508
520
|
}
|
|
509
521
|
function isString(value) {
|
|
510
522
|
return typeof value === "string";
|
|
@@ -530,24 +542,29 @@
|
|
|
530
542
|
}
|
|
531
543
|
}
|
|
532
544
|
function arrIndexOf(arr, searchElement, fromIndex) {
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
545
|
+
if (arr) {
|
|
546
|
+
if (arr[strIndexOf]) {
|
|
547
|
+
return arr[strIndexOf](searchElement, fromIndex);
|
|
548
|
+
}
|
|
549
|
+
var len = arr.length;
|
|
550
|
+
var from = fromIndex || 0;
|
|
551
|
+
try {
|
|
552
|
+
for (var lp = Math.max(from >= 0 ? from : len - Math.abs(from), 0); lp < len; lp++) {
|
|
553
|
+
if (lp in arr && arr[lp] === searchElement) {
|
|
554
|
+
return lp;
|
|
555
|
+
}
|
|
539
556
|
}
|
|
540
557
|
}
|
|
541
|
-
|
|
542
|
-
|
|
558
|
+
catch (e) {
|
|
559
|
+
}
|
|
543
560
|
}
|
|
544
561
|
return -1;
|
|
545
562
|
}
|
|
546
563
|
function strTrim(str) {
|
|
547
|
-
if (
|
|
548
|
-
|
|
564
|
+
if (str) {
|
|
565
|
+
str = (_strTrim && str[cStrTrim]) ? str[cStrTrim]() : (str.replace ? str.replace(/^\s+|\s+$/g, "") : str);
|
|
549
566
|
}
|
|
550
|
-
return str
|
|
567
|
+
return str;
|
|
551
568
|
}
|
|
552
569
|
var _objKeysHasDontEnumBug = !({ toString: null }).propertyIsEnumerable("toString");
|
|
553
570
|
var _objKeysDontEnums = [
|
|
@@ -564,6 +581,9 @@
|
|
|
564
581
|
if (objType !== strShimFunction && (objType !== strShimObject || obj === null)) {
|
|
565
582
|
throwTypeError("objKeys called on non-object");
|
|
566
583
|
}
|
|
584
|
+
if (!_objKeysHasDontEnumBug && _objKeys) {
|
|
585
|
+
return _objKeys(obj);
|
|
586
|
+
}
|
|
567
587
|
var result = [];
|
|
568
588
|
for (var prop in obj) {
|
|
569
589
|
if (obj && ObjHasOwnProperty.call(obj, prop)) {
|
|
@@ -603,10 +623,7 @@
|
|
|
603
623
|
}
|
|
604
624
|
function dateNow() {
|
|
605
625
|
var dt = Date;
|
|
606
|
-
|
|
607
|
-
return dt.now();
|
|
608
|
-
}
|
|
609
|
-
return new dt().getTime();
|
|
626
|
+
return dt.now ? dt.now() : new dt().getTime();
|
|
610
627
|
}
|
|
611
628
|
function setValue(target, field, value, valChk, srcChk) {
|
|
612
629
|
var theValue = value;
|
|
@@ -620,8 +637,8 @@
|
|
|
620
637
|
return theValue;
|
|
621
638
|
}
|
|
622
639
|
function optimizeObject(theObject) {
|
|
623
|
-
if (theObject) {
|
|
624
|
-
theObject = ObjClass(ObjAssign
|
|
640
|
+
if (theObject && ObjAssign) {
|
|
641
|
+
theObject = ObjClass(ObjAssign({}, theObject));
|
|
625
642
|
}
|
|
626
643
|
return theObject;
|
|
627
644
|
}
|
|
@@ -1437,10 +1454,11 @@
|
|
|
1437
1454
|
var _ExtendedInternalMessageId = __assignFn(__assignFn({}, _InternalMessageId), { AuthHandShakeError: 501, AuthRedirectFail: 502, BrowserCannotReadLocalStorage: 503, BrowserCannotWriteLocalStorage: 504, BrowserDoesNotSupportLocalStorage: 505, CannotParseBiBlobValue: 506, CannotParseDataAttribute: 507, CVPluginNotAvailable: 508, DroppedEvent: 509, ErrorParsingAISessionCookie: 510, ErrorProvidedChannels: 511, FailedToGetCookies: 512, FailedToInitializeCorrelationVector: 513, FailedToInitializeSDK: 514, InvalidContentBlob: 515, InvalidCorrelationValue: 516, SessionRenewalDateIsZero: 517, SendPostOnCompleteFailure: 518, PostResponseHandler: 519, SDKNotInitialized: 520 });
|
|
1438
1455
|
|
|
1439
1456
|
var _a$1;
|
|
1440
|
-
var Version = '3.1.
|
|
1457
|
+
var Version = '3.1.11';
|
|
1441
1458
|
var FullVersionString = "1DS-Web-JS-" + Version;
|
|
1442
1459
|
var strDisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
|
|
1443
1460
|
var strWithCredentials = "withCredentials";
|
|
1461
|
+
var strTimeout = "timeout";
|
|
1444
1462
|
var _fieldTypeEventPropMap = (_a$1 = {},
|
|
1445
1463
|
_a$1[0 ] = EventPropertyType.Unspecified,
|
|
1446
1464
|
_a$1[2 ] = EventPropertyType.Double,
|
|
@@ -1612,7 +1630,7 @@
|
|
|
1612
1630
|
function isChromium() {
|
|
1613
1631
|
return !!getGlobalInst("chrome");
|
|
1614
1632
|
}
|
|
1615
|
-
function openXhr(method, urlString, withCredentials, disabled, isSync) {
|
|
1633
|
+
function openXhr(method, urlString, withCredentials, disabled, isSync, timeout) {
|
|
1616
1634
|
if (disabled === void 0) { disabled = false; }
|
|
1617
1635
|
if (isSync === void 0) { isSync = false; }
|
|
1618
1636
|
function _wrapSetXhrProp(xhr, prop, value) {
|
|
@@ -1633,6 +1651,9 @@
|
|
|
1633
1651
|
if (withCredentials) {
|
|
1634
1652
|
_wrapSetXhrProp(xhr, strWithCredentials, withCredentials);
|
|
1635
1653
|
}
|
|
1654
|
+
if (!isSync && timeout) {
|
|
1655
|
+
_wrapSetXhrProp(xhr, strTimeout, timeout);
|
|
1656
|
+
}
|
|
1636
1657
|
return xhr;
|
|
1637
1658
|
}
|
|
1638
1659
|
|
|
@@ -1661,6 +1682,7 @@
|
|
|
1661
1682
|
var strUploadTime = "upload-time";
|
|
1662
1683
|
var strApiKey = "apikey";
|
|
1663
1684
|
var strMsaDeviceTicket = "AuthMsaDeviceTicket";
|
|
1685
|
+
var strNoResponseBody = "NoResponseBody";
|
|
1664
1686
|
var strMsfpc = "msfpc";
|
|
1665
1687
|
|
|
1666
1688
|
function _getEventMsfpc(theEvent) {
|
|
@@ -2084,6 +2106,8 @@
|
|
|
2084
2106
|
var EVTClockSkewManager = ClockSkewManager;
|
|
2085
2107
|
|
|
2086
2108
|
var _a;
|
|
2109
|
+
var strSendAttempt = "sendAttempt";
|
|
2110
|
+
var _noResponseQs = "&" + strNoResponseBody + "=true";
|
|
2087
2111
|
var _eventActionMap = (_a = {},
|
|
2088
2112
|
_a[1 ] = strRequeue,
|
|
2089
2113
|
_a[100 ] = strRequeue,
|
|
@@ -2136,7 +2160,7 @@
|
|
|
2136
2160
|
}
|
|
2137
2161
|
}
|
|
2138
2162
|
var HttpManager = /** @class */ (function () {
|
|
2139
|
-
function HttpManager(maxEventsPerBatch, maxConnections,
|
|
2163
|
+
function HttpManager(maxEventsPerBatch, maxConnections, maxRequestRetriesBeforeBackoff, actions) {
|
|
2140
2164
|
this._responseHandlers = [];
|
|
2141
2165
|
var _urlString = "?cors=true&" + strContentTypeHeader.toLowerCase() + "=" + defaultContentType;
|
|
2142
2166
|
var _killSwitch = new EVTKillSwitch();
|
|
@@ -2156,6 +2180,8 @@
|
|
|
2156
2180
|
var _cookieMgr;
|
|
2157
2181
|
var _isUnloading = false;
|
|
2158
2182
|
var _useHeaders = false;
|
|
2183
|
+
var _xhrTimeout;
|
|
2184
|
+
var _disableXhrSync;
|
|
2159
2185
|
dynamicProto(HttpManager, this, function (_self) {
|
|
2160
2186
|
var _sendCredentials = true;
|
|
2161
2187
|
_self.initialize = function (endpointUrl, core, postChannel, httpInterface, channelConfig) {
|
|
@@ -2175,9 +2201,13 @@
|
|
|
2175
2201
|
if (!isUndefined(channelConfig.enableCompoundKey)) {
|
|
2176
2202
|
enableCompoundKey = !!channelConfig.enableCompoundKey;
|
|
2177
2203
|
}
|
|
2204
|
+
_xhrTimeout = channelConfig.xhrTimeout;
|
|
2205
|
+
_disableXhrSync = channelConfig.disableXhrSync;
|
|
2178
2206
|
_useBeacons = !isReactNative();
|
|
2179
2207
|
_serializer = new Serializer(_core, valueSanitizer, stringifyObjects, enableCompoundKey);
|
|
2180
2208
|
var syncHttpInterface = httpInterface;
|
|
2209
|
+
var beaconHttpInterface = channelConfig.alwaysUseXhrOverride ? httpInterface : null;
|
|
2210
|
+
var fetchSyncHttpInterface = channelConfig.alwaysUseXhrOverride ? httpInterface : null;
|
|
2181
2211
|
if (!httpInterface) {
|
|
2182
2212
|
_customHttpInterface = false;
|
|
2183
2213
|
var location_1 = getLocation();
|
|
@@ -2209,8 +2239,8 @@
|
|
|
2209
2239
|
_sendInterfaces = (_a = {},
|
|
2210
2240
|
_a[0 ] = httpInterface,
|
|
2211
2241
|
_a[1 ] = syncHttpInterface || _getSenderInterface([1 , 2 , 3 ], true),
|
|
2212
|
-
_a[2 ] = _getSenderInterface([3 , 2
|
|
2213
|
-
_a[3 ] = _getSenderInterface([2 , 3
|
|
2242
|
+
_a[2 ] = beaconHttpInterface || _getSenderInterface([3 , 2 ], true) || syncHttpInterface || _getSenderInterface([1 ], true),
|
|
2243
|
+
_a[3 ] = fetchSyncHttpInterface || _getSenderInterface([2 , 3 ], true) || syncHttpInterface || _getSenderInterface([1 ], true),
|
|
2214
2244
|
_a);
|
|
2215
2245
|
};
|
|
2216
2246
|
function _getSenderInterface(transports, syncSupport) {
|
|
@@ -2250,6 +2280,9 @@
|
|
|
2250
2280
|
function _xdrSendPost(payload, oncomplete, sync) {
|
|
2251
2281
|
var xdr = new XDomainRequest();
|
|
2252
2282
|
xdr.open(Method, payload.urlString);
|
|
2283
|
+
if (payload.timeout) {
|
|
2284
|
+
xdr.timeout = payload.timeout;
|
|
2285
|
+
}
|
|
2253
2286
|
xdr.onload = function () {
|
|
2254
2287
|
var response = _getResponseText(xdr);
|
|
2255
2288
|
_doOnComplete(oncomplete, 200, {}, response);
|
|
@@ -2273,6 +2306,7 @@
|
|
|
2273
2306
|
}
|
|
2274
2307
|
function _fetchSendPost(payload, oncomplete, sync) {
|
|
2275
2308
|
var _a;
|
|
2309
|
+
var theUrl = payload.urlString;
|
|
2276
2310
|
var ignoreResponse = false;
|
|
2277
2311
|
var responseHandled = false;
|
|
2278
2312
|
var requestInit = (_a = {
|
|
@@ -2285,6 +2319,7 @@
|
|
|
2285
2319
|
requestInit.keepalive = true;
|
|
2286
2320
|
if (payload._sendReason === 2 ) {
|
|
2287
2321
|
ignoreResponse = true;
|
|
2322
|
+
theUrl += _noResponseQs;
|
|
2288
2323
|
}
|
|
2289
2324
|
}
|
|
2290
2325
|
if (_sendCredentials) {
|
|
@@ -2293,7 +2328,7 @@
|
|
|
2293
2328
|
if (payload.headers && objKeys(payload.headers).length > 0) {
|
|
2294
2329
|
requestInit.headers = payload.headers;
|
|
2295
2330
|
}
|
|
2296
|
-
fetch(
|
|
2331
|
+
fetch(theUrl, requestInit).then(function (response) {
|
|
2297
2332
|
var headerMap = {};
|
|
2298
2333
|
var responseText = "";
|
|
2299
2334
|
if (response.headers) {
|
|
@@ -2321,8 +2356,17 @@
|
|
|
2321
2356
|
responseHandled = true;
|
|
2322
2357
|
_doOnComplete(oncomplete, 200, {});
|
|
2323
2358
|
}
|
|
2359
|
+
if (!responseHandled && payload.timeout > 0) {
|
|
2360
|
+
_postManager._setTimeoutOverride(function () {
|
|
2361
|
+
if (!responseHandled) {
|
|
2362
|
+
responseHandled = true;
|
|
2363
|
+
_doOnComplete(oncomplete, 500, {});
|
|
2364
|
+
}
|
|
2365
|
+
}, payload.timeout);
|
|
2366
|
+
}
|
|
2324
2367
|
}
|
|
2325
2368
|
function _xhrSendPost(payload, oncomplete, sync) {
|
|
2369
|
+
var theUrl = payload.urlString;
|
|
2326
2370
|
function _appendHeader(theHeaders, xhr, name) {
|
|
2327
2371
|
if (!theHeaders[name] && xhr && xhr.getResponseHeader) {
|
|
2328
2372
|
var value = xhr.getResponseHeader(name);
|
|
@@ -2347,22 +2391,25 @@
|
|
|
2347
2391
|
function xhrComplete(xhr, responseTxt) {
|
|
2348
2392
|
_doOnComplete(oncomplete, xhr.status, _getAllResponseHeaders(xhr), responseTxt);
|
|
2349
2393
|
}
|
|
2350
|
-
|
|
2394
|
+
if (sync && payload.disableXhrSync) {
|
|
2395
|
+
sync = false;
|
|
2396
|
+
}
|
|
2397
|
+
var xhrRequest = openXhr(Method, theUrl, _sendCredentials, true, sync, payload.timeout);
|
|
2351
2398
|
objForEachKey(payload.headers, function (name, value) {
|
|
2352
|
-
|
|
2399
|
+
xhrRequest.setRequestHeader(name, value);
|
|
2353
2400
|
});
|
|
2354
|
-
|
|
2355
|
-
var response = _getResponseText(
|
|
2356
|
-
xhrComplete(
|
|
2401
|
+
xhrRequest.onload = function () {
|
|
2402
|
+
var response = _getResponseText(xhrRequest);
|
|
2403
|
+
xhrComplete(xhrRequest, response);
|
|
2357
2404
|
_handleCollectorResponse(response);
|
|
2358
2405
|
};
|
|
2359
|
-
|
|
2360
|
-
xhrComplete(
|
|
2406
|
+
xhrRequest.onerror = function () {
|
|
2407
|
+
xhrComplete(xhrRequest);
|
|
2361
2408
|
};
|
|
2362
|
-
|
|
2363
|
-
xhrComplete(
|
|
2409
|
+
xhrRequest.ontimeout = function () {
|
|
2410
|
+
xhrComplete(xhrRequest);
|
|
2364
2411
|
};
|
|
2365
|
-
|
|
2412
|
+
xhrRequest.send(payload.data);
|
|
2366
2413
|
}
|
|
2367
2414
|
function _doOnComplete(oncomplete, status, headers, response) {
|
|
2368
2415
|
try {
|
|
@@ -2376,16 +2423,17 @@
|
|
|
2376
2423
|
var internalPayloadData = payload;
|
|
2377
2424
|
var status = 200;
|
|
2378
2425
|
var thePayload = internalPayloadData._thePayload;
|
|
2426
|
+
var theUrl = payload.urlString + _noResponseQs;
|
|
2379
2427
|
try {
|
|
2380
2428
|
var nav_1 = getNavigator();
|
|
2381
|
-
if (!nav_1.sendBeacon(
|
|
2429
|
+
if (!nav_1.sendBeacon(theUrl, payload.data)) {
|
|
2382
2430
|
if (thePayload) {
|
|
2383
2431
|
var droppedBatches_1 = [];
|
|
2384
2432
|
arrForEach(thePayload.batches, function (theBatch) {
|
|
2385
2433
|
if (droppedBatches_1 && theBatch && theBatch.count() > 0) {
|
|
2386
2434
|
var theEvents = theBatch.events();
|
|
2387
2435
|
for (var lp = 0; lp < theEvents.length; lp++) {
|
|
2388
|
-
if (!nav_1.sendBeacon(
|
|
2436
|
+
if (!nav_1.sendBeacon(theUrl, _serializer.getEventBlob(theEvents[lp]))) {
|
|
2389
2437
|
droppedBatches_1.push(theBatch.split(lp));
|
|
2390
2438
|
break;
|
|
2391
2439
|
}
|
|
@@ -2628,7 +2676,6 @@
|
|
|
2628
2676
|
var requestDetails_1 = _buildRequestDetails(thePayload, useHeaders_1);
|
|
2629
2677
|
useHeaders_1 = useHeaders_1 || requestDetails_1.useHdrs;
|
|
2630
2678
|
var sendEventStart_1 = getTime();
|
|
2631
|
-
var strSendAttempt_1 = "sendAttempt";
|
|
2632
2679
|
doPerf(_core, function () { return "HttpManager:_doPayloadSend"; }, function () {
|
|
2633
2680
|
for (var batchLp = 0; batchLp < thePayload.batches.length; batchLp++) {
|
|
2634
2681
|
var theBatch = thePayload.batches[batchLp];
|
|
@@ -2641,7 +2688,7 @@
|
|
|
2641
2688
|
_setTimingValue(timings, "serializationStart", serializationStart);
|
|
2642
2689
|
_setTimingValue(timings, "serializationCompleted", serializationCompleted);
|
|
2643
2690
|
}
|
|
2644
|
-
telemetryItem[
|
|
2691
|
+
telemetryItem[strSendAttempt] > 0 ? telemetryItem[strSendAttempt]++ : telemetryItem[strSendAttempt] = 1;
|
|
2645
2692
|
}
|
|
2646
2693
|
}
|
|
2647
2694
|
_sendBatchesNotification(thePayload.batches, (1000 + (sendReason || 0 )), thePayload.sendType, true);
|
|
@@ -2650,8 +2697,12 @@
|
|
|
2650
2697
|
urlString: requestDetails_1.url,
|
|
2651
2698
|
headers: requestDetails_1.hdrs,
|
|
2652
2699
|
_thePayload: thePayload,
|
|
2653
|
-
_sendReason: sendReason
|
|
2700
|
+
_sendReason: sendReason,
|
|
2701
|
+
timeout: _xhrTimeout
|
|
2654
2702
|
};
|
|
2703
|
+
if (!isUndefined(_disableXhrSync)) {
|
|
2704
|
+
orgPayloadData.disableXhrSync = !!_disableXhrSync;
|
|
2705
|
+
}
|
|
2655
2706
|
if (useHeaders_1) {
|
|
2656
2707
|
if (!_hasHeader(orgPayloadData.headers, strCacheControl)) {
|
|
2657
2708
|
orgPayloadData.headers[strCacheControl] = defaultCacheControl;
|
|
@@ -2689,7 +2740,9 @@
|
|
|
2689
2740
|
var hookData_1 = {
|
|
2690
2741
|
data: orgPayloadData.data,
|
|
2691
2742
|
urlString: orgPayloadData.urlString,
|
|
2692
|
-
headers: extend({}, orgPayloadData.headers)
|
|
2743
|
+
headers: extend({}, orgPayloadData.headers),
|
|
2744
|
+
timeout: orgPayloadData.timeout,
|
|
2745
|
+
disableXhrSync: orgPayloadData.disableXhrSync
|
|
2693
2746
|
};
|
|
2694
2747
|
var senderCalled_1 = false;
|
|
2695
2748
|
doPerf(_core, function () { return "HttpManager:_doPayloadSend.sendHook"; }, function () {
|
|
@@ -2754,7 +2807,7 @@
|
|
|
2754
2807
|
});
|
|
2755
2808
|
});
|
|
2756
2809
|
}
|
|
2757
|
-
if (status == 200) {
|
|
2810
|
+
if (status == 200 || status == 204) {
|
|
2758
2811
|
reason = 200 ;
|
|
2759
2812
|
return;
|
|
2760
2813
|
}
|
|
@@ -2767,7 +2820,7 @@
|
|
|
2767
2820
|
reason = 100 ;
|
|
2768
2821
|
var retryCount_1 = thePayload.retryCnt;
|
|
2769
2822
|
if (thePayload.sendType === 0 ) {
|
|
2770
|
-
if (retryCount_1 <
|
|
2823
|
+
if (retryCount_1 < maxRequestRetriesBeforeBackoff) {
|
|
2771
2824
|
isRetrying = true;
|
|
2772
2825
|
_doAction(function () {
|
|
2773
2826
|
if (thePayload.sendType === 0 ) {
|
|
@@ -2778,6 +2831,9 @@
|
|
|
2778
2831
|
}
|
|
2779
2832
|
else {
|
|
2780
2833
|
backOffTrans = true;
|
|
2834
|
+
if (_isUnloading) {
|
|
2835
|
+
reason = 8001 ;
|
|
2836
|
+
}
|
|
2781
2837
|
}
|
|
2782
2838
|
}
|
|
2783
2839
|
}
|
|
@@ -2923,19 +2979,22 @@
|
|
|
2923
2979
|
var MaxNumberEventPerBatch = 500;
|
|
2924
2980
|
var EventsDroppedAtOneTime = 20;
|
|
2925
2981
|
var MaxSendAttempts = 6;
|
|
2982
|
+
var MaxSyncUnloadSendAttempts = 2;
|
|
2926
2983
|
var MaxBackoffCount = 4;
|
|
2927
2984
|
var globalContext = isWindowObjectAvailable ? window : undefined;
|
|
2928
2985
|
var MaxConnections = 2;
|
|
2929
|
-
var
|
|
2986
|
+
var MaxRequestRetriesBeforeBackoff = 1;
|
|
2930
2987
|
var strEventsDiscarded = "eventsDiscarded";
|
|
2931
2988
|
var strOverrideInstrumentationKey = "overrideInstrumentationKey";
|
|
2989
|
+
var strMaxEventRetryAttempts = "maxEventRetryAttempts";
|
|
2990
|
+
var strMaxUnloadEventRetryAttempts = "maxUnloadEventRetryAttempts";
|
|
2932
2991
|
var PostChannel = /** @class */ (function (_super) {
|
|
2933
2992
|
__extendsFn(PostChannel, _super);
|
|
2934
2993
|
function PostChannel() {
|
|
2935
2994
|
var _this = _super.call(this) || this;
|
|
2936
2995
|
_this.identifier = "PostChannel";
|
|
2937
2996
|
_this.priority = 1011;
|
|
2938
|
-
_this.version = '3.1.
|
|
2997
|
+
_this.version = '3.1.11';
|
|
2939
2998
|
var _config;
|
|
2940
2999
|
var _isTeardownCalled = false;
|
|
2941
3000
|
var _flushCallbackQueue = [];
|
|
@@ -2960,11 +3019,14 @@
|
|
|
2960
3019
|
var _delayedBatchReason;
|
|
2961
3020
|
var _optimizeObject = true;
|
|
2962
3021
|
var _isPageUnloadTriggered = false;
|
|
3022
|
+
var _disableXhrSync = false;
|
|
3023
|
+
var _maxEventSendAttempts = MaxSendAttempts;
|
|
3024
|
+
var _maxUnloadEventSendAttempts = MaxSyncUnloadSendAttempts;
|
|
2963
3025
|
dynamicProto(PostChannel, _this, function (_self, _base) {
|
|
2964
3026
|
_initializeProfiles();
|
|
2965
3027
|
_clearQueues();
|
|
2966
3028
|
_setAutoLimits();
|
|
2967
|
-
_httpManager = new HttpManager(MaxNumberEventPerBatch, MaxConnections,
|
|
3029
|
+
_httpManager = new HttpManager(MaxNumberEventPerBatch, MaxConnections, MaxRequestRetriesBeforeBackoff, {
|
|
2968
3030
|
requeue: _requeueEvents,
|
|
2969
3031
|
send: _sendingEvent,
|
|
2970
3032
|
sent: _eventsSentEvent,
|
|
@@ -2986,14 +3048,7 @@
|
|
|
2986
3048
|
_self._setTimeoutOverride = _config.setTimeoutOverride ? _config.setTimeoutOverride : setTimeout.bind(globalContext);
|
|
2987
3049
|
_self._clearTimeoutOverride = _config.clearTimeoutOverride ? _config.clearTimeoutOverride : clearTimeout.bind(globalContext);
|
|
2988
3050
|
_optimizeObject = !_config.disableOptimizeObj && isChromium();
|
|
2989
|
-
|
|
2990
|
-
extendedCore.getWParam = function () {
|
|
2991
|
-
var wparam = 0;
|
|
2992
|
-
if (_config.ignoreMc1Ms0CookieProcessing) {
|
|
2993
|
-
wparam = wparam | 2;
|
|
2994
|
-
}
|
|
2995
|
-
return wparam | existingGetWParamMethod();
|
|
2996
|
-
};
|
|
3051
|
+
_hookWParam(extendedCore);
|
|
2997
3052
|
if (_config.eventsLimitInMem > 0) {
|
|
2998
3053
|
_queueSizeLimit = _config.eventsLimitInMem;
|
|
2999
3054
|
}
|
|
@@ -3003,6 +3058,13 @@
|
|
|
3003
3058
|
if (_config.autoFlushEventsLimit > 0) {
|
|
3004
3059
|
_autoFlushEventsLimit = _config.autoFlushEventsLimit;
|
|
3005
3060
|
}
|
|
3061
|
+
_disableXhrSync = _config.disableXhrSync;
|
|
3062
|
+
if (isNumber(_config[strMaxEventRetryAttempts])) {
|
|
3063
|
+
_maxEventSendAttempts = _config[strMaxEventRetryAttempts];
|
|
3064
|
+
}
|
|
3065
|
+
if (isNumber(_config[strMaxUnloadEventRetryAttempts])) {
|
|
3066
|
+
_maxUnloadEventSendAttempts = _config[strMaxUnloadEventRetryAttempts];
|
|
3067
|
+
}
|
|
3006
3068
|
_setAutoLimits();
|
|
3007
3069
|
if (_config.httpXHROverride && _config.httpXHROverride.sendPOST) {
|
|
3008
3070
|
_xhrOverride = _config.httpXHROverride;
|
|
@@ -3015,21 +3077,10 @@
|
|
|
3015
3077
|
var endpointUrl = _config.overrideEndpointUrl ? _config.overrideEndpointUrl : coreConfig.endpointUrl;
|
|
3016
3078
|
_self._notificationManager = coreConfig.extensionConfig.NotificationManager;
|
|
3017
3079
|
_httpManager.initialize(endpointUrl, _self.core, _self, _xhrOverride, _config);
|
|
3018
|
-
function _handleUnloadEvents(evt) {
|
|
3019
|
-
var theEvt = evt || getWindow().event;
|
|
3020
|
-
if (theEvt.type !== "beforeunload") {
|
|
3021
|
-
_isPageUnloadTriggered = true;
|
|
3022
|
-
_httpManager.setUnloading(_isPageUnloadTriggered);
|
|
3023
|
-
}
|
|
3024
|
-
_releaseAllQueues(2 , 2 );
|
|
3025
|
-
}
|
|
3026
3080
|
var excludePageUnloadEvents = coreConfig.disablePageUnloadEvents || [];
|
|
3027
3081
|
addPageUnloadEventListener(_handleUnloadEvents, excludePageUnloadEvents);
|
|
3028
3082
|
addPageHideEventListener(_handleUnloadEvents, excludePageUnloadEvents);
|
|
3029
|
-
addPageShowEventListener(
|
|
3030
|
-
_isPageUnloadTriggered = false;
|
|
3031
|
-
_httpManager.setUnloading(_isPageUnloadTriggered);
|
|
3032
|
-
}, coreConfig.disablePageShowEvents);
|
|
3083
|
+
addPageShowEventListener(_handleShowEvents, coreConfig.disablePageShowEvents);
|
|
3033
3084
|
_self.setInitialized(true);
|
|
3034
3085
|
}, function () { return ({ coreConfig: coreConfig, core: core, extensions: extensions }); });
|
|
3035
3086
|
};
|
|
@@ -3059,6 +3110,28 @@
|
|
|
3059
3110
|
}
|
|
3060
3111
|
_self.processNext(event, itemCtx);
|
|
3061
3112
|
};
|
|
3113
|
+
function _hookWParam(extendedCore) {
|
|
3114
|
+
var existingGetWParamMethod = extendedCore.getWParam;
|
|
3115
|
+
extendedCore.getWParam = function () {
|
|
3116
|
+
var wparam = 0;
|
|
3117
|
+
if (_config.ignoreMc1Ms0CookieProcessing) {
|
|
3118
|
+
wparam = wparam | 2;
|
|
3119
|
+
}
|
|
3120
|
+
return wparam | existingGetWParamMethod();
|
|
3121
|
+
};
|
|
3122
|
+
}
|
|
3123
|
+
function _handleUnloadEvents(evt) {
|
|
3124
|
+
var theEvt = evt || getWindow().event;
|
|
3125
|
+
if (theEvt.type !== "beforeunload") {
|
|
3126
|
+
_isPageUnloadTriggered = true;
|
|
3127
|
+
_httpManager.setUnloading(_isPageUnloadTriggered);
|
|
3128
|
+
}
|
|
3129
|
+
_releaseAllQueues(2 , 2 );
|
|
3130
|
+
}
|
|
3131
|
+
function _handleShowEvents(evt) {
|
|
3132
|
+
_isPageUnloadTriggered = false;
|
|
3133
|
+
_httpManager.setUnloading(_isPageUnloadTriggered);
|
|
3134
|
+
}
|
|
3062
3135
|
function _addEventToQueues(event, append) {
|
|
3063
3136
|
if (!event.sendAttempt) {
|
|
3064
3137
|
event.sendAttempt = 0;
|
|
@@ -3488,6 +3561,10 @@
|
|
|
3488
3561
|
}
|
|
3489
3562
|
function _requeueEvents(batches, reason) {
|
|
3490
3563
|
var droppedEvents = [];
|
|
3564
|
+
var maxSendAttempts = _maxEventSendAttempts;
|
|
3565
|
+
if (_isPageUnloadTriggered) {
|
|
3566
|
+
maxSendAttempts = _maxUnloadEventSendAttempts;
|
|
3567
|
+
}
|
|
3491
3568
|
arrForEach(batches, function (theBatch) {
|
|
3492
3569
|
if (theBatch && theBatch.count() > 0) {
|
|
3493
3570
|
arrForEach(theBatch.events(), function (theEvent) {
|
|
@@ -3496,7 +3573,7 @@
|
|
|
3496
3573
|
theEvent.latency = EventLatency.Immediate;
|
|
3497
3574
|
theEvent.sync = false;
|
|
3498
3575
|
}
|
|
3499
|
-
if (theEvent.sendAttempt <
|
|
3576
|
+
if (theEvent.sendAttempt < maxSendAttempts) {
|
|
3500
3577
|
setProcessTelemetryTimings(theEvent, _self.identifier);
|
|
3501
3578
|
_addEventToQueues(theEvent, false);
|
|
3502
3579
|
}
|
|
@@ -3595,4 +3672,4 @@
|
|
|
3595
3672
|
(function(obj, prop, descriptor) { /* ai_es3_polyfil defineProperty */ var func = Object["defineProperty"]; if (func) { try { return func(obj, prop, descriptor); } catch(e) { /* IE8 defines defineProperty, but will throw */ } } if (descriptor && typeof descriptor.value !== undefined) { obj[prop] = descriptor.value; } return obj; })(exports, '__esModule', { value: true });
|
|
3596
3673
|
|
|
3597
3674
|
}));
|
|
3598
|
-
//# sourceMappingURL=ms.post-3.1.
|
|
3675
|
+
//# sourceMappingURL=ms.post-3.1.11.js.map
|