@microsoft/applicationinsights-channel-js 3.1.1-nightly3.2402-22 → 3.1.1-nightly3.2403-02
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/browser/es5/{applicationinsights-channel-js.3.1.1-nightly3.2402-22.cjs.js → applicationinsights-channel-js.3.1.1-nightly3.2403-02.cjs.js} +586 -331
- package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-02.cjs.js.map +1 -0
- package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-02.cjs.min.js +6 -0
- package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-02.cjs.min.js.map +1 -0
- package/browser/es5/{applicationinsights-channel-js.3.1.1-nightly3.2402-22.gbl.js → applicationinsights-channel-js.3.1.1-nightly3.2403-02.gbl.js} +588 -333
- package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-02.gbl.js.map +1 -0
- package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-02.gbl.min.js +6 -0
- package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-02.gbl.min.js.map +1 -0
- package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-02.integrity.json +66 -0
- package/browser/es5/{applicationinsights-channel-js.3.1.1-nightly3.2402-22.js → applicationinsights-channel-js.3.1.1-nightly3.2403-02.js} +588 -333
- package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-02.js.map +1 -0
- package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-02.min.js +6 -0
- package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2403-02.min.js.map +1 -0
- package/browser/es5/applicationinsights-channel-js.3.cjs.js +585 -330
- package/browser/es5/applicationinsights-channel-js.3.cjs.js.map +1 -1
- package/browser/es5/applicationinsights-channel-js.3.cjs.min.js +2 -2
- package/browser/es5/applicationinsights-channel-js.3.cjs.min.js.map +1 -1
- package/browser/es5/applicationinsights-channel-js.3.gbl.js +587 -332
- package/browser/es5/applicationinsights-channel-js.3.gbl.js.map +1 -1
- package/browser/es5/applicationinsights-channel-js.3.gbl.min.js +2 -2
- package/browser/es5/applicationinsights-channel-js.3.gbl.min.js.map +1 -1
- package/browser/es5/applicationinsights-channel-js.3.integrity.json +25 -25
- package/browser/es5/applicationinsights-channel-js.3.js +587 -332
- package/browser/es5/applicationinsights-channel-js.3.js.map +1 -1
- package/browser/es5/applicationinsights-channel-js.3.min.js +2 -2
- package/browser/es5/applicationinsights-channel-js.3.min.js.map +1 -1
- package/dist/es5/applicationinsights-channel-js.js +585 -330
- package/dist/es5/applicationinsights-channel-js.js.map +1 -1
- package/dist/es5/applicationinsights-channel-js.min.js +2 -2
- package/dist/es5/applicationinsights-channel-js.min.js.map +1 -1
- package/dist-es5/EnvelopeCreator.js +2 -2
- package/dist-es5/EnvelopeCreator.js.map +1 -1
- package/dist-es5/Interfaces.js +1 -1
- package/dist-es5/InternalConstants.js +1 -1
- package/dist-es5/SendBuffer.js +5 -5
- package/dist-es5/SendBuffer.js.map +1 -1
- package/dist-es5/Sender.js +138 -369
- package/dist-es5/Sender.js.map +1 -1
- package/dist-es5/Serializer.js +1 -1
- package/dist-es5/TelemetryProcessors/Sample.js +1 -1
- package/dist-es5/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js +3 -3
- package/dist-es5/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js.map +1 -1
- package/dist-es5/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.js +1 -1
- package/dist-es5/__DynamicConstants.js +14 -15
- package/dist-es5/__DynamicConstants.js.map +1 -1
- package/dist-es5/applicationinsights-channel-js.js +1 -1
- package/package.json +3 -3
- package/types/applicationinsights-channel-js.d.ts +1 -1
- package/types/applicationinsights-channel-js.namespaced.d.ts +6 -1
- package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2402-22.cjs.js.map +0 -1
- package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2402-22.cjs.min.js +0 -6
- package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2402-22.cjs.min.js.map +0 -1
- package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2402-22.gbl.js.map +0 -1
- package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2402-22.gbl.min.js +0 -6
- package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2402-22.gbl.min.js.map +0 -1
- package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2402-22.integrity.json +0 -66
- package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2402-22.js.map +0 -1
- package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2402-22.min.js +0 -6
- package/browser/es5/applicationinsights-channel-js.3.1.1-nightly3.2402-22.min.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Application Insights JavaScript SDK - Channel, 3.1.1-nightly3.
|
|
2
|
+
* Application Insights JavaScript SDK - Channel, 3.1.1-nightly3.2403-02
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
(function (global, factory) {
|
|
@@ -1126,7 +1126,7 @@
|
|
|
1126
1126
|
var _DYN_SPLICE = "splice";
|
|
1127
1127
|
var _DYN_HDLR = "hdlr";
|
|
1128
1128
|
var _DYN_CANCEL = "cancel";
|
|
1129
|
-
var _DYN_INITIALIZE = "initialize";
|
|
1129
|
+
var _DYN_INITIALIZE$1 = "initialize";
|
|
1130
1130
|
var _DYN_IDENTIFIER = "identifier";
|
|
1131
1131
|
var _DYN_IS_INITIALIZED = "isInitialized";
|
|
1132
1132
|
var _DYN_GET_PLUGIN = "getPlugin";
|
|
@@ -1475,7 +1475,7 @@
|
|
|
1475
1475
|
}
|
|
1476
1476
|
|
|
1477
1477
|
var UNDEFINED_VALUE$1 = undefined;
|
|
1478
|
-
var STR_EMPTY = "";
|
|
1478
|
+
var STR_EMPTY$1 = "";
|
|
1479
1479
|
var STR_CORE = "core";
|
|
1480
1480
|
var STR_DISABLED = "disabled";
|
|
1481
1481
|
var STR_EXTENSION_CONFIG = "extensionConfig";
|
|
@@ -1516,7 +1516,7 @@
|
|
|
1516
1516
|
if (isError(object)) {
|
|
1517
1517
|
return object[_DYN_NAME$2 ];
|
|
1518
1518
|
}
|
|
1519
|
-
return STR_EMPTY;
|
|
1519
|
+
return STR_EMPTY$1;
|
|
1520
1520
|
}
|
|
1521
1521
|
function setValue(target, field, value, valChk, srcChk) {
|
|
1522
1522
|
var theValue = value;
|
|
@@ -1620,6 +1620,7 @@
|
|
|
1620
1620
|
}
|
|
1621
1621
|
|
|
1622
1622
|
var strDocumentMode = "documentMode";
|
|
1623
|
+
var strLocation = "location";
|
|
1623
1624
|
var strConsole = "console";
|
|
1624
1625
|
var strJSON = "JSON";
|
|
1625
1626
|
var strCrypto = "crypto";
|
|
@@ -1629,6 +1630,7 @@
|
|
|
1629
1630
|
var strXMLHttpRequest = "XMLHttpRequest";
|
|
1630
1631
|
var _isTrident = null;
|
|
1631
1632
|
var _navUserAgentCheck = null;
|
|
1633
|
+
var _enableMocks = false;
|
|
1632
1634
|
var _useXDomainRequest = null;
|
|
1633
1635
|
var _beaconsSupported = null;
|
|
1634
1636
|
function _hasProperty(theClass, property) {
|
|
@@ -1656,6 +1658,18 @@
|
|
|
1656
1658
|
}
|
|
1657
1659
|
return supported;
|
|
1658
1660
|
}
|
|
1661
|
+
function getLocation(checkForMock) {
|
|
1662
|
+
if (checkForMock && _enableMocks) {
|
|
1663
|
+
var mockLocation = getInst("__mockLocation");
|
|
1664
|
+
if (mockLocation) {
|
|
1665
|
+
return mockLocation;
|
|
1666
|
+
}
|
|
1667
|
+
}
|
|
1668
|
+
if (typeof location === strShimObject && location) {
|
|
1669
|
+
return location;
|
|
1670
|
+
}
|
|
1671
|
+
return getInst(strLocation);
|
|
1672
|
+
}
|
|
1659
1673
|
function getConsole() {
|
|
1660
1674
|
if (typeof console !== strShimUndefined) {
|
|
1661
1675
|
return console;
|
|
@@ -1681,7 +1695,7 @@
|
|
|
1681
1695
|
var nav = getNavigator();
|
|
1682
1696
|
if (nav && (nav[_DYN_USER_AGENT ] !== _navUserAgentCheck || _isTrident === null)) {
|
|
1683
1697
|
_navUserAgentCheck = nav[_DYN_USER_AGENT ];
|
|
1684
|
-
var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
|
|
1698
|
+
var userAgent = (_navUserAgentCheck || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]();
|
|
1685
1699
|
_isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));
|
|
1686
1700
|
}
|
|
1687
1701
|
return _isTrident;
|
|
@@ -1690,9 +1704,9 @@
|
|
|
1690
1704
|
if (userAgentStr === void 0) { userAgentStr = null; }
|
|
1691
1705
|
if (!userAgentStr) {
|
|
1692
1706
|
var navigator_1 = getNavigator() || {};
|
|
1693
|
-
userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]() : STR_EMPTY;
|
|
1707
|
+
userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]() : STR_EMPTY$1;
|
|
1694
1708
|
}
|
|
1695
|
-
var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE$1 ]();
|
|
1709
|
+
var ua = (userAgentStr || STR_EMPTY$1)[_DYN_TO_LOWER_CASE$1 ]();
|
|
1696
1710
|
if (strContains(ua, strMsie)) {
|
|
1697
1711
|
var doc = getDocument() || {};
|
|
1698
1712
|
return Math.max(parseInt(ua[_DYN_SPLIT$1 ](strMsie)[1]), (doc[strDocumentMode] || 0));
|
|
@@ -1801,7 +1815,7 @@
|
|
|
1801
1815
|
var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
1802
1816
|
var number = random32() >>> 0;
|
|
1803
1817
|
var chars = 0;
|
|
1804
|
-
var result = STR_EMPTY;
|
|
1818
|
+
var result = STR_EMPTY$1;
|
|
1805
1819
|
while (result[_DYN_LENGTH$2 ] < maxLength) {
|
|
1806
1820
|
chars++;
|
|
1807
1821
|
result += base64chars.charAt(number & 0x3F);
|
|
@@ -1839,11 +1853,11 @@
|
|
|
1839
1853
|
}
|
|
1840
1854
|
function createUniqueNamespace(name, includeVersion) {
|
|
1841
1855
|
if (includeVersion === void 0) { includeVersion = false; }
|
|
1842
|
-
return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY) + instanceName);
|
|
1856
|
+
return normalizeJsName(name + (_dataUid++) + (includeVersion ? "." + version : STR_EMPTY$1) + instanceName);
|
|
1843
1857
|
}
|
|
1844
1858
|
function createElmNodeData(name) {
|
|
1845
1859
|
var data = {
|
|
1846
|
-
id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY) + "." + version),
|
|
1860
|
+
id: createUniqueNamespace("_aiData-" + (name || STR_EMPTY$1) + "." + version),
|
|
1847
1861
|
accept: function (target) {
|
|
1848
1862
|
return _canAcceptData(target);
|
|
1849
1863
|
},
|
|
@@ -2548,9 +2562,9 @@
|
|
|
2548
2562
|
_a$2);
|
|
2549
2563
|
function _sanitizeDiagnosticText(text) {
|
|
2550
2564
|
if (text) {
|
|
2551
|
-
return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY) + "\"";
|
|
2565
|
+
return "\"" + text[_DYN_REPLACE ](/\"/g, STR_EMPTY$1) + "\"";
|
|
2552
2566
|
}
|
|
2553
|
-
return STR_EMPTY;
|
|
2567
|
+
return STR_EMPTY$1;
|
|
2554
2568
|
}
|
|
2555
2569
|
function _logToConsole(func, message) {
|
|
2556
2570
|
var theConsole = getConsole();
|
|
@@ -2572,12 +2586,12 @@
|
|
|
2572
2586
|
_self[_DYN_MESSAGE$1 ] =
|
|
2573
2587
|
(isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +
|
|
2574
2588
|
msgId;
|
|
2575
|
-
var strProps = STR_EMPTY;
|
|
2589
|
+
var strProps = STR_EMPTY$1;
|
|
2576
2590
|
if (hasJSON()) {
|
|
2577
2591
|
strProps = getJSON().stringify(properties);
|
|
2578
2592
|
}
|
|
2579
|
-
var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +
|
|
2580
|
-
(properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);
|
|
2593
|
+
var diagnosticText = (msg ? " message:" + _sanitizeDiagnosticText(msg) : STR_EMPTY$1) +
|
|
2594
|
+
(properties ? " props:" + _sanitizeDiagnosticText(strProps) : STR_EMPTY$1);
|
|
2581
2595
|
_self[_DYN_MESSAGE$1 ] += diagnosticText;
|
|
2582
2596
|
}
|
|
2583
2597
|
_InternalLogMessage.dataType = "MessageData";
|
|
@@ -3110,7 +3124,7 @@
|
|
|
3110
3124
|
doPerf(itemCtx[STR_CORE ](), function () { return identifier + ":" + name; }, function () {
|
|
3111
3125
|
hasRunContext[chainId] = true;
|
|
3112
3126
|
try {
|
|
3113
|
-
var nextId = nextProxy ? nextProxy._id : STR_EMPTY;
|
|
3127
|
+
var nextId = nextProxy ? nextProxy._id : STR_EMPTY$1;
|
|
3114
3128
|
if (nextId) {
|
|
3115
3129
|
hasRunContext[nextId] = false;
|
|
3116
3130
|
}
|
|
@@ -3255,7 +3269,7 @@
|
|
|
3255
3269
|
var _hookContainer;
|
|
3256
3270
|
_initDefaults();
|
|
3257
3271
|
dynamicProto(BaseTelemetryPlugin, _self, function (_self) {
|
|
3258
|
-
_self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
|
|
3272
|
+
_self[_DYN_INITIALIZE$1 ] = function (config, core, extensions, pluginChain) {
|
|
3259
3273
|
_setDefaults(config, core, pluginChain);
|
|
3260
3274
|
_isinitialized = true;
|
|
3261
3275
|
};
|
|
@@ -3396,16 +3410,16 @@
|
|
|
3396
3410
|
var eventNamespace = /^([^.]*)(?:\.(.+)|)/;
|
|
3397
3411
|
function _normalizeNamespace(name) {
|
|
3398
3412
|
if (name && name[_DYN_REPLACE ]) {
|
|
3399
|
-
return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY);
|
|
3413
|
+
return name[_DYN_REPLACE ](/^[\s\.]+|(?=[\s\.])[\.\s]+$/g, STR_EMPTY$1);
|
|
3400
3414
|
}
|
|
3401
3415
|
return name;
|
|
3402
3416
|
}
|
|
3403
3417
|
function _getEvtNamespace(eventName, evtNamespace) {
|
|
3404
3418
|
var _a;
|
|
3405
3419
|
if (evtNamespace) {
|
|
3406
|
-
var theNamespace_1 = STR_EMPTY;
|
|
3420
|
+
var theNamespace_1 = STR_EMPTY$1;
|
|
3407
3421
|
if (isArray(evtNamespace)) {
|
|
3408
|
-
theNamespace_1 = STR_EMPTY;
|
|
3422
|
+
theNamespace_1 = STR_EMPTY$1;
|
|
3409
3423
|
arrForEach(evtNamespace, function (name) {
|
|
3410
3424
|
name = _normalizeNamespace(name);
|
|
3411
3425
|
if (name) {
|
|
@@ -3423,13 +3437,13 @@
|
|
|
3423
3437
|
if (theNamespace_1[0] !== ".") {
|
|
3424
3438
|
theNamespace_1 = "." + theNamespace_1;
|
|
3425
3439
|
}
|
|
3426
|
-
eventName = (eventName || STR_EMPTY) + theNamespace_1;
|
|
3440
|
+
eventName = (eventName || STR_EMPTY$1) + theNamespace_1;
|
|
3427
3441
|
}
|
|
3428
3442
|
}
|
|
3429
|
-
var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);
|
|
3443
|
+
var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY$1) || []);
|
|
3430
3444
|
return _a = {},
|
|
3431
3445
|
_a[_DYN_TYPE ] = parsedEvent[1],
|
|
3432
|
-
_a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT$1 ](".").sort()).join("."),
|
|
3446
|
+
_a.ns = ((parsedEvent[2] || STR_EMPTY$1).replace(rRemoveEmptyNs, ".").replace(rRemoveTrailingEmptyNs, STR_EMPTY$1)[_DYN_SPLIT$1 ](".").sort()).join("."),
|
|
3433
3447
|
_a;
|
|
3434
3448
|
}
|
|
3435
3449
|
function _getRegisteredEvents(target, evtName, addDefault) {
|
|
@@ -3578,14 +3592,20 @@
|
|
|
3578
3592
|
var _DYN_SPLIT = "split";
|
|
3579
3593
|
var _DYN_LENGTH$1 = "length";
|
|
3580
3594
|
var _DYN_TO_LOWER_CASE = "toLowerCase";
|
|
3595
|
+
var _DYN_LOCATION = "location";
|
|
3581
3596
|
var _DYN_TO_STRING$1 = "toString";
|
|
3582
3597
|
var _DYN_PUSH$1 = "push";
|
|
3598
|
+
var _DYN_URL_STRING = "urlString";
|
|
3599
|
+
var _DYN_DATA$1 = "data";
|
|
3600
|
+
var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
|
|
3601
|
+
var _DYN_REASON = "reason";
|
|
3602
|
+
var _DYN_MESSAGE = "message";
|
|
3583
3603
|
var _DYN_REMOVE_ITEM = "removeItem";
|
|
3584
3604
|
var _DYN_NAME$1 = "name";
|
|
3585
|
-
var _DYN_MESSAGE = "message";
|
|
3586
3605
|
var _DYN_COUNT$1 = "count";
|
|
3587
3606
|
var _DYN_STRINGIFY$1 = "stringify";
|
|
3588
3607
|
var _DYN_PATHNAME = "pathname";
|
|
3608
|
+
var _DYN_ITEMS_RECEIVED$1 = "itemsReceived";
|
|
3589
3609
|
var _DYN_EXCEPTIONS = "exceptions";
|
|
3590
3610
|
var _DYN_PARSED_STACK = "parsedStack";
|
|
3591
3611
|
var _DYN_PROPERTIES = "properties";
|
|
@@ -3807,6 +3827,54 @@
|
|
|
3807
3827
|
data: data
|
|
3808
3828
|
};
|
|
3809
3829
|
}
|
|
3830
|
+
function getResponseText(xhr) {
|
|
3831
|
+
try {
|
|
3832
|
+
return xhr.responseText;
|
|
3833
|
+
}
|
|
3834
|
+
catch (e) {
|
|
3835
|
+
}
|
|
3836
|
+
return null;
|
|
3837
|
+
}
|
|
3838
|
+
function formatErrorMessageXdr(xdr, message) {
|
|
3839
|
+
if (xdr) {
|
|
3840
|
+
return "XDomainRequest,Response:" + getResponseText(xdr) || "";
|
|
3841
|
+
}
|
|
3842
|
+
return message;
|
|
3843
|
+
}
|
|
3844
|
+
function formatErrorMessageXhr(xhr, message) {
|
|
3845
|
+
if (xhr) {
|
|
3846
|
+
return "XMLHttpRequest,Status:" + xhr.status + ",Response:" + getResponseText(xhr) || xhr.response || "";
|
|
3847
|
+
}
|
|
3848
|
+
return message;
|
|
3849
|
+
}
|
|
3850
|
+
function prependTransports(theTransports, newTransports) {
|
|
3851
|
+
if (newTransports) {
|
|
3852
|
+
if (isNumber(newTransports)) {
|
|
3853
|
+
theTransports = [newTransports].concat(theTransports);
|
|
3854
|
+
}
|
|
3855
|
+
else if (isArray(newTransports)) {
|
|
3856
|
+
theTransports = newTransports.concat(theTransports);
|
|
3857
|
+
}
|
|
3858
|
+
}
|
|
3859
|
+
return theTransports;
|
|
3860
|
+
}
|
|
3861
|
+
function parseResponse(response, diagLog) {
|
|
3862
|
+
try {
|
|
3863
|
+
if (response && response !== "") {
|
|
3864
|
+
var result = getJSON().parse(response);
|
|
3865
|
+
if (result && result[_DYN_ITEMS_RECEIVED$1 ] && result[_DYN_ITEMS_RECEIVED$1 ] >= result.itemsAccepted &&
|
|
3866
|
+
result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH$1 ]) {
|
|
3867
|
+
return result;
|
|
3868
|
+
}
|
|
3869
|
+
}
|
|
3870
|
+
}
|
|
3871
|
+
catch (e) {
|
|
3872
|
+
_throwInternal(diagLog, 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
|
|
3873
|
+
response: response
|
|
3874
|
+
});
|
|
3875
|
+
}
|
|
3876
|
+
return null;
|
|
3877
|
+
}
|
|
3810
3878
|
|
|
3811
3879
|
var StorageType = createEnumStyle({
|
|
3812
3880
|
LocalStorage: 0 ,
|
|
@@ -3885,7 +3953,7 @@
|
|
|
3885
3953
|
_self.sampleRate = 100.0;
|
|
3886
3954
|
_self.tags = {};
|
|
3887
3955
|
_self[_DYN_NAME$1 ] = dataSanitizeString(logger, name) || strNotSpecified;
|
|
3888
|
-
_self
|
|
3956
|
+
_self[_DYN_DATA$1 ] = data;
|
|
3889
3957
|
_self.time = toISOString(new Date());
|
|
3890
3958
|
_self.aiDataContract = {
|
|
3891
3959
|
time: 1 ,
|
|
@@ -4042,8 +4110,8 @@
|
|
|
4042
4110
|
else if (getWindow() && getWindow()["opera"] && errorObj[strMessage]) {
|
|
4043
4111
|
details = _getOperaStack(errorObj[_DYN_MESSAGE ]);
|
|
4044
4112
|
}
|
|
4045
|
-
else if (errorObj["reason"] && errorObj
|
|
4046
|
-
details = _convertStackObj(errorObj
|
|
4113
|
+
else if (errorObj["reason"] && errorObj[_DYN_REASON ][strStack]) {
|
|
4114
|
+
details = _convertStackObj(errorObj[_DYN_REASON ][strStack]);
|
|
4047
4115
|
}
|
|
4048
4116
|
else if (isString(errorObj)) {
|
|
4049
4117
|
details = _convertStackObj(errorObj);
|
|
@@ -4514,7 +4582,7 @@
|
|
|
4514
4582
|
_self.resultCode = resultCode + "";
|
|
4515
4583
|
_self.type = dataSanitizeString(logger, requestAPI);
|
|
4516
4584
|
var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);
|
|
4517
|
-
_self
|
|
4585
|
+
_self[_DYN_DATA$1 ] = dataSanitizeUrl(logger, commandName) || dependencyFields[_DYN_DATA$1 ];
|
|
4518
4586
|
_self.target = dataSanitizeString(logger, dependencyFields.target);
|
|
4519
4587
|
if (correlationContext) {
|
|
4520
4588
|
_self.target = "".concat(_self.target, " | ").concat(correlationContext);
|
|
@@ -4680,6 +4748,360 @@
|
|
|
4680
4748
|
|
|
4681
4749
|
var CtxTagKeys = new ContextTagKeys();
|
|
4682
4750
|
|
|
4751
|
+
var STR_EMPTY = "";
|
|
4752
|
+
var SenderPostManager = /** @class */ (function () {
|
|
4753
|
+
function SenderPostManager() {
|
|
4754
|
+
var _syncFetchPayload = 0;
|
|
4755
|
+
var _enableSendPromise;
|
|
4756
|
+
var _isInitialized;
|
|
4757
|
+
var _diagLog;
|
|
4758
|
+
var _isOneDs;
|
|
4759
|
+
var _onCompleteFuncs;
|
|
4760
|
+
var _disableCredentials;
|
|
4761
|
+
var _fallbackInst;
|
|
4762
|
+
var _disableXhr;
|
|
4763
|
+
var _disableBeacon;
|
|
4764
|
+
var _disableBeaconSync;
|
|
4765
|
+
dynamicProto(SenderPostManager, this, function (_self, _base) {
|
|
4766
|
+
var _sendCredentials = true;
|
|
4767
|
+
_initDefaults();
|
|
4768
|
+
_self.initialize = function (config, diagLog) {
|
|
4769
|
+
_diagLog = diagLog;
|
|
4770
|
+
if (_isInitialized) {
|
|
4771
|
+
_throwInternal(_diagLog, 1 , 28 , "Sender is already initialized");
|
|
4772
|
+
}
|
|
4773
|
+
_self.SetConfig(config);
|
|
4774
|
+
_isInitialized = true;
|
|
4775
|
+
};
|
|
4776
|
+
_self["_getDbgPlgTargets"] = function () {
|
|
4777
|
+
return [_isInitialized, _isOneDs, _disableCredentials, _enableSendPromise];
|
|
4778
|
+
};
|
|
4779
|
+
_self.SetConfig = function (config) {
|
|
4780
|
+
try {
|
|
4781
|
+
_onCompleteFuncs = config.senderOnCompleteCallBack || {};
|
|
4782
|
+
_disableCredentials = !!config.disableCredentials;
|
|
4783
|
+
_isOneDs = !!config.isOneDs;
|
|
4784
|
+
_enableSendPromise = !!config.enableSendPromise;
|
|
4785
|
+
_disableXhr = !!config.disableXhr;
|
|
4786
|
+
_disableBeacon = !!config.disableBeacon;
|
|
4787
|
+
_disableBeaconSync = !!config.disableBeaconSync;
|
|
4788
|
+
_fallbackInst = { sendPOST: _xhrSender };
|
|
4789
|
+
if (_disableCredentials) {
|
|
4790
|
+
var location_1 = getLocation();
|
|
4791
|
+
if (location_1 && location_1.protocol && location_1.protocol[_DYN_TO_LOWER_CASE ]() === "file:") {
|
|
4792
|
+
_sendCredentials = false;
|
|
4793
|
+
}
|
|
4794
|
+
}
|
|
4795
|
+
return true;
|
|
4796
|
+
}
|
|
4797
|
+
catch (e) {
|
|
4798
|
+
}
|
|
4799
|
+
return false;
|
|
4800
|
+
};
|
|
4801
|
+
_self.getSyncFetchPayload = function () {
|
|
4802
|
+
return _syncFetchPayload;
|
|
4803
|
+
};
|
|
4804
|
+
_self.getXhrInst = function (transports, sync) {
|
|
4805
|
+
if (transports && transports[_DYN_LENGTH$1 ]) {
|
|
4806
|
+
return _getSenderInterface(transports, sync);
|
|
4807
|
+
}
|
|
4808
|
+
return null;
|
|
4809
|
+
};
|
|
4810
|
+
_self.getFallbackInst = function () {
|
|
4811
|
+
return _fallbackInst;
|
|
4812
|
+
};
|
|
4813
|
+
_self._doTeardown = function (unloadCtx, unloadState) {
|
|
4814
|
+
_initDefaults();
|
|
4815
|
+
};
|
|
4816
|
+
function _onSuccess(res, onComplete) {
|
|
4817
|
+
_doOnComplete(onComplete, 200, {}, res);
|
|
4818
|
+
}
|
|
4819
|
+
function _onError(message, onComplete) {
|
|
4820
|
+
_throwInternal(_diagLog, 2 , 26 , "Failed to send telemetry.", { message: message });
|
|
4821
|
+
_doOnComplete(onComplete, 400, {});
|
|
4822
|
+
}
|
|
4823
|
+
function _onNoPayloadUrl(onComplete) {
|
|
4824
|
+
_onError("No endpoint url is provided for the batch", onComplete);
|
|
4825
|
+
}
|
|
4826
|
+
function _getSenderInterface(transports, syncSupport) {
|
|
4827
|
+
var transportType = null;
|
|
4828
|
+
var sendPostFunc = null;
|
|
4829
|
+
var lp = 0;
|
|
4830
|
+
while (sendPostFunc == null && lp < transports[_DYN_LENGTH$1 ]) {
|
|
4831
|
+
transportType = transports[lp];
|
|
4832
|
+
if (!_disableXhr && transportType === 1 ) {
|
|
4833
|
+
if (useXDomainRequest()) {
|
|
4834
|
+
sendPostFunc = _xdrSender;
|
|
4835
|
+
}
|
|
4836
|
+
else if (isXhrSupported()) {
|
|
4837
|
+
sendPostFunc = _xhrSender;
|
|
4838
|
+
}
|
|
4839
|
+
}
|
|
4840
|
+
else if (transportType === 2 && isFetchSupported(syncSupport)) {
|
|
4841
|
+
sendPostFunc = _doFetchSender;
|
|
4842
|
+
}
|
|
4843
|
+
else if (transportType === 3 && isBeaconsSupported() && (syncSupport ? !_disableBeaconSync : !_disableBeacon)) {
|
|
4844
|
+
sendPostFunc = _beaconSender;
|
|
4845
|
+
}
|
|
4846
|
+
lp++;
|
|
4847
|
+
}
|
|
4848
|
+
if (sendPostFunc) {
|
|
4849
|
+
return {
|
|
4850
|
+
sendPOST: sendPostFunc
|
|
4851
|
+
};
|
|
4852
|
+
}
|
|
4853
|
+
return null;
|
|
4854
|
+
}
|
|
4855
|
+
function _doOnComplete(oncomplete, status, headers, response) {
|
|
4856
|
+
try {
|
|
4857
|
+
oncomplete && oncomplete(status, headers, response);
|
|
4858
|
+
}
|
|
4859
|
+
catch (e) {
|
|
4860
|
+
}
|
|
4861
|
+
}
|
|
4862
|
+
function _doBeaconSend(payload, oncomplete) {
|
|
4863
|
+
var nav = getNavigator();
|
|
4864
|
+
var url = payload[_DYN_URL_STRING ];
|
|
4865
|
+
if (!url) {
|
|
4866
|
+
_onNoPayloadUrl(oncomplete);
|
|
4867
|
+
return true;
|
|
4868
|
+
}
|
|
4869
|
+
var data = payload[_DYN_DATA$1 ];
|
|
4870
|
+
var plainTextBatch = new Blob([data], { type: "text/plain;charset=UTF-8" });
|
|
4871
|
+
var queued = nav.sendBeacon(url, plainTextBatch);
|
|
4872
|
+
return queued;
|
|
4873
|
+
}
|
|
4874
|
+
function _beaconSender(payload, oncomplete, sync) {
|
|
4875
|
+
var data = payload[_DYN_DATA$1 ];
|
|
4876
|
+
if (data) {
|
|
4877
|
+
if (!_doBeaconSend(payload, oncomplete)) {
|
|
4878
|
+
var onRetry = _onCompleteFuncs && _onCompleteFuncs.beaconOnRetry;
|
|
4879
|
+
if (onRetry && isFunction(onRetry)) {
|
|
4880
|
+
onRetry(payload, oncomplete, _doBeaconSend);
|
|
4881
|
+
}
|
|
4882
|
+
else {
|
|
4883
|
+
_fallbackInst && _fallbackInst.sendPOST(payload, oncomplete, true);
|
|
4884
|
+
_throwInternal(_diagLog, 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
|
|
4885
|
+
}
|
|
4886
|
+
}
|
|
4887
|
+
else {
|
|
4888
|
+
_onSuccess(null, oncomplete);
|
|
4889
|
+
}
|
|
4890
|
+
}
|
|
4891
|
+
return;
|
|
4892
|
+
}
|
|
4893
|
+
function _xhrSender(payload, oncomplete, sync) {
|
|
4894
|
+
var thePromise;
|
|
4895
|
+
var resolveFunc;
|
|
4896
|
+
var rejectFunc;
|
|
4897
|
+
var headers = payload.headers || {};
|
|
4898
|
+
if (!sync && _enableSendPromise) {
|
|
4899
|
+
thePromise = createPromise(function (resolve, reject) {
|
|
4900
|
+
resolveFunc = resolve;
|
|
4901
|
+
rejectFunc = reject;
|
|
4902
|
+
});
|
|
4903
|
+
}
|
|
4904
|
+
var xhr = new XMLHttpRequest();
|
|
4905
|
+
var endPointUrl = payload[_DYN_URL_STRING ];
|
|
4906
|
+
if (!endPointUrl) {
|
|
4907
|
+
_onNoPayloadUrl(oncomplete);
|
|
4908
|
+
resolveFunc && resolveFunc(false);
|
|
4909
|
+
return;
|
|
4910
|
+
}
|
|
4911
|
+
try {
|
|
4912
|
+
xhr[DisabledPropertyName] = true;
|
|
4913
|
+
}
|
|
4914
|
+
catch (e) {
|
|
4915
|
+
}
|
|
4916
|
+
xhr.open("POST", endPointUrl, !sync);
|
|
4917
|
+
xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
|
|
4918
|
+
if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
|
|
4919
|
+
xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
|
|
4920
|
+
}
|
|
4921
|
+
arrForEach(objKeys(headers), function (headerName) {
|
|
4922
|
+
xhr[_DYN_SET_REQUEST_HEADER ](headerName, headers[headerName]);
|
|
4923
|
+
});
|
|
4924
|
+
xhr.onreadystatechange = function () {
|
|
4925
|
+
var response = getResponseText(xhr);
|
|
4926
|
+
var onReadyFunc = _onCompleteFuncs && _onCompleteFuncs.xhrOnComplete;
|
|
4927
|
+
var onReadyFuncExist = onReadyFunc && isFunction(onReadyFunc);
|
|
4928
|
+
if (onReadyFuncExist) {
|
|
4929
|
+
onReadyFunc(xhr, oncomplete, payload);
|
|
4930
|
+
}
|
|
4931
|
+
if (xhr.readyState === 4) {
|
|
4932
|
+
if (!onReadyFuncExist) {
|
|
4933
|
+
_doOnComplete(oncomplete, xhr.status, {}, response);
|
|
4934
|
+
}
|
|
4935
|
+
resolveFunc && resolveFunc(true);
|
|
4936
|
+
}
|
|
4937
|
+
};
|
|
4938
|
+
xhr.onerror = function (event) {
|
|
4939
|
+
_doOnComplete(oncomplete, 400, {}, formatErrorMessageXhr(xhr));
|
|
4940
|
+
rejectFunc && rejectFunc(event);
|
|
4941
|
+
};
|
|
4942
|
+
xhr.ontimeout = function () {
|
|
4943
|
+
_doOnComplete(oncomplete, 500, {}, formatErrorMessageXhr(xhr));
|
|
4944
|
+
resolveFunc && resolveFunc(false);
|
|
4945
|
+
};
|
|
4946
|
+
xhr.send(payload[_DYN_DATA$1 ]);
|
|
4947
|
+
return thePromise;
|
|
4948
|
+
}
|
|
4949
|
+
function _doFetchSender(payload, oncomplete, sync) {
|
|
4950
|
+
var _a;
|
|
4951
|
+
var endPointUrl = payload[_DYN_URL_STRING ];
|
|
4952
|
+
var batch = payload[_DYN_DATA$1 ];
|
|
4953
|
+
var plainTextBatch = new Blob([batch], { type: "application/json" });
|
|
4954
|
+
var thePromise;
|
|
4955
|
+
var resolveFunc;
|
|
4956
|
+
var rejectFunc;
|
|
4957
|
+
var requestHeaders = new Headers();
|
|
4958
|
+
var batchLength = batch[_DYN_LENGTH$1 ];
|
|
4959
|
+
var ignoreResponse = false;
|
|
4960
|
+
var responseHandled = false;
|
|
4961
|
+
var headers = payload.headers || {};
|
|
4962
|
+
if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
|
|
4963
|
+
requestHeaders.append(RequestHeaders[6 ], RequestHeaders[7 ]);
|
|
4964
|
+
}
|
|
4965
|
+
arrForEach(objKeys(headers), function (headerName) {
|
|
4966
|
+
requestHeaders.append(headerName, headers[headerName]);
|
|
4967
|
+
});
|
|
4968
|
+
var init = (_a = {
|
|
4969
|
+
method: "POST",
|
|
4970
|
+
headers: requestHeaders,
|
|
4971
|
+
body: plainTextBatch
|
|
4972
|
+
},
|
|
4973
|
+
_a[DisabledPropertyName] = true
|
|
4974
|
+
,
|
|
4975
|
+
_a);
|
|
4976
|
+
if (_sendCredentials && _isOneDs) {
|
|
4977
|
+
init.credentials = "include";
|
|
4978
|
+
}
|
|
4979
|
+
if (sync) {
|
|
4980
|
+
init.keepalive = true;
|
|
4981
|
+
ignoreResponse = true;
|
|
4982
|
+
_syncFetchPayload += batchLength;
|
|
4983
|
+
}
|
|
4984
|
+
var request = new Request(endPointUrl, init);
|
|
4985
|
+
try {
|
|
4986
|
+
request[DisabledPropertyName] = true;
|
|
4987
|
+
}
|
|
4988
|
+
catch (e) {
|
|
4989
|
+
}
|
|
4990
|
+
if (!sync && _enableSendPromise) {
|
|
4991
|
+
thePromise = createPromise(function (resolve, reject) {
|
|
4992
|
+
resolveFunc = resolve;
|
|
4993
|
+
rejectFunc = reject;
|
|
4994
|
+
});
|
|
4995
|
+
}
|
|
4996
|
+
if (!endPointUrl) {
|
|
4997
|
+
_onNoPayloadUrl(oncomplete);
|
|
4998
|
+
resolveFunc && resolveFunc(false);
|
|
4999
|
+
return;
|
|
5000
|
+
}
|
|
5001
|
+
try {
|
|
5002
|
+
doAwaitResponse(fetch(request), function (result) {
|
|
5003
|
+
if (sync) {
|
|
5004
|
+
_syncFetchPayload -= batchLength;
|
|
5005
|
+
batchLength = 0;
|
|
5006
|
+
}
|
|
5007
|
+
if (!responseHandled) {
|
|
5008
|
+
responseHandled = true;
|
|
5009
|
+
if (!result.rejected) {
|
|
5010
|
+
var response_1 = result.value;
|
|
5011
|
+
if (!response_1.ok) {
|
|
5012
|
+
_doOnComplete(oncomplete, 400, {}, response_1.statusText);
|
|
5013
|
+
resolveFunc && resolveFunc(false);
|
|
5014
|
+
}
|
|
5015
|
+
else {
|
|
5016
|
+
doAwaitResponse(response_1.text(), function (resp) {
|
|
5017
|
+
var status = response_1.status;
|
|
5018
|
+
var onCompleteFunc = _onCompleteFuncs.fetchOnComplete;
|
|
5019
|
+
if (onCompleteFunc && isFunction(onCompleteFunc)) {
|
|
5020
|
+
onCompleteFunc(response_1, oncomplete, resp.value || STR_EMPTY, payload);
|
|
5021
|
+
}
|
|
5022
|
+
else {
|
|
5023
|
+
_doOnComplete(oncomplete, status, {}, resp.value || STR_EMPTY);
|
|
5024
|
+
}
|
|
5025
|
+
resolveFunc && resolveFunc(true);
|
|
5026
|
+
});
|
|
5027
|
+
}
|
|
5028
|
+
}
|
|
5029
|
+
else {
|
|
5030
|
+
_doOnComplete(oncomplete, 400, {}, result[_DYN_REASON ] && result[_DYN_REASON ][_DYN_MESSAGE ]);
|
|
5031
|
+
rejectFunc && rejectFunc(result[_DYN_REASON ]);
|
|
5032
|
+
}
|
|
5033
|
+
}
|
|
5034
|
+
});
|
|
5035
|
+
}
|
|
5036
|
+
catch (e) {
|
|
5037
|
+
if (!responseHandled) {
|
|
5038
|
+
_doOnComplete(oncomplete, 400, {}, dumpObj(e));
|
|
5039
|
+
rejectFunc && rejectFunc(e);
|
|
5040
|
+
}
|
|
5041
|
+
}
|
|
5042
|
+
if (ignoreResponse && !responseHandled) {
|
|
5043
|
+
responseHandled = true;
|
|
5044
|
+
_doOnComplete(oncomplete, 200, {});
|
|
5045
|
+
resolveFunc && resolveFunc(true);
|
|
5046
|
+
}
|
|
5047
|
+
return thePromise;
|
|
5048
|
+
}
|
|
5049
|
+
function _xdrSender(payload, oncomplete, sync) {
|
|
5050
|
+
var _window = getWindow();
|
|
5051
|
+
var xdr = new XDomainRequest();
|
|
5052
|
+
var data = payload[_DYN_DATA$1 ];
|
|
5053
|
+
xdr.onload = function () {
|
|
5054
|
+
var response = getResponseText(xdr);
|
|
5055
|
+
var onloadFunc = _onCompleteFuncs && _onCompleteFuncs.xdrOnComplete;
|
|
5056
|
+
if (onloadFunc && isFunction(onloadFunc)) {
|
|
5057
|
+
onloadFunc(xdr, oncomplete, payload);
|
|
5058
|
+
}
|
|
5059
|
+
else {
|
|
5060
|
+
_doOnComplete(oncomplete, 200, {}, response);
|
|
5061
|
+
}
|
|
5062
|
+
};
|
|
5063
|
+
xdr.onerror = function () {
|
|
5064
|
+
_doOnComplete(oncomplete, 400, {}, formatErrorMessageXdr(xdr));
|
|
5065
|
+
};
|
|
5066
|
+
xdr.ontimeout = function () {
|
|
5067
|
+
_doOnComplete(oncomplete, 500, {});
|
|
5068
|
+
};
|
|
5069
|
+
xdr.onprogress = function () { };
|
|
5070
|
+
var hostingProtocol = _window && _window[_DYN_LOCATION ] && _window[_DYN_LOCATION ].protocol || "";
|
|
5071
|
+
var endpoint = payload[_DYN_URL_STRING ];
|
|
5072
|
+
if (!endpoint) {
|
|
5073
|
+
_onNoPayloadUrl(oncomplete);
|
|
5074
|
+
return;
|
|
5075
|
+
}
|
|
5076
|
+
if (endpoint.lastIndexOf(hostingProtocol, 0) !== 0) {
|
|
5077
|
+
var msg = "Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.";
|
|
5078
|
+
_throwInternal(_diagLog, 2 , 40 , ". " + msg);
|
|
5079
|
+
_onError(msg, oncomplete);
|
|
5080
|
+
return;
|
|
5081
|
+
}
|
|
5082
|
+
var endpointUrl = endpoint.replace(/^(https?:)/, "");
|
|
5083
|
+
xdr.open("POST", endpointUrl);
|
|
5084
|
+
xdr.send(data);
|
|
5085
|
+
}
|
|
5086
|
+
function _initDefaults() {
|
|
5087
|
+
_syncFetchPayload = 0;
|
|
5088
|
+
_isInitialized = false;
|
|
5089
|
+
_enableSendPromise = false;
|
|
5090
|
+
_diagLog = null;
|
|
5091
|
+
_isOneDs = null;
|
|
5092
|
+
_onCompleteFuncs = null;
|
|
5093
|
+
_disableCredentials = null;
|
|
5094
|
+
_fallbackInst = null;
|
|
5095
|
+
_disableXhr = false;
|
|
5096
|
+
_disableBeacon = false;
|
|
5097
|
+
_disableBeaconSync = false;
|
|
5098
|
+
}
|
|
5099
|
+
});
|
|
5100
|
+
}
|
|
5101
|
+
SenderPostManager.__ieDyn=1;
|
|
5102
|
+
return SenderPostManager;
|
|
5103
|
+
}());
|
|
5104
|
+
|
|
4683
5105
|
function _disableEvents(target, evtNamespace) {
|
|
4684
5106
|
eventOff(target, null, null, evtNamespace);
|
|
4685
5107
|
}
|
|
@@ -4818,43 +5240,42 @@
|
|
|
4818
5240
|
var _DYN_PUSH = "push";
|
|
4819
5241
|
var _DYN_EMIT_LINE_DELIMITED_0 = "emitLineDelimitedJson";
|
|
4820
5242
|
var _DYN_CLEAR = "clear";
|
|
4821
|
-
var _DYN_BATCH_PAYLOADS = "batchPayloads";
|
|
4822
5243
|
var _DYN_CREATE_NEW = "createNew";
|
|
4823
5244
|
var _DYN_MARK_AS_SENT = "markAsSent";
|
|
4824
5245
|
var _DYN_CLEAR_SENT = "clearSent";
|
|
4825
5246
|
var _DYN_BUFFER_OVERRIDE = "bufferOverride";
|
|
4826
5247
|
var _DYN__BUFFER__KEY = "BUFFER_KEY";
|
|
4827
5248
|
var _DYN__SENT__BUFFER__KEY = "SENT_BUFFER_KEY";
|
|
4828
|
-
var _DYN_CONCAT = "concat";
|
|
4829
5249
|
var _DYN__MAX__BUFFER__SIZE = "MAX_BUFFER_SIZE";
|
|
4830
|
-
var _DYN_SEND_POST = "sendPOST";
|
|
4831
5250
|
var _DYN_TRIGGER_SEND = "triggerSend";
|
|
4832
5251
|
var _DYN_DIAG_LOG = "diagLog";
|
|
5252
|
+
var _DYN_INITIALIZE = "initialize";
|
|
4833
5253
|
var _DYN__SENDER = "_sender";
|
|
4834
5254
|
var _DYN_CUSTOM_HEADERS = "customHeaders";
|
|
4835
5255
|
var _DYN_MAX_BATCH_SIZE_IN_BY1 = "maxBatchSizeInBytes";
|
|
4836
5256
|
var _DYN_ONUNLOAD_DISABLE_BEA2 = "onunloadDisableBeacon";
|
|
4837
5257
|
var _DYN_IS_BEACON_API_DISABL3 = "isBeaconApiDisabled";
|
|
4838
5258
|
var _DYN_ALWAYS_USE_XHR_OVERR4 = "alwaysUseXhrOverride";
|
|
5259
|
+
var _DYN_DISABLE_XHR = "disableXhr";
|
|
4839
5260
|
var _DYN_ENABLE_SESSION_STORA5 = "enableSessionStorageBuffer";
|
|
4840
5261
|
var _DYN__BUFFER = "_buffer";
|
|
4841
5262
|
var _DYN_ONUNLOAD_DISABLE_FET6 = "onunloadDisableFetch";
|
|
4842
5263
|
var _DYN_DISABLE_SEND_BEACON_7 = "disableSendBeaconSplit";
|
|
4843
5264
|
var _DYN_INSTRUMENTATION_KEY = "instrumentationKey";
|
|
5265
|
+
var _DYN_ENABLE_SEND_PROMISE = "enableSendPromise";
|
|
5266
|
+
var _DYN_GET_XHR_INST = "getXhrInst";
|
|
4844
5267
|
var _DYN_UNLOAD_TRANSPORTS = "unloadTransports";
|
|
4845
5268
|
var _DYN_CONVERT_UNDEFINED = "convertUndefined";
|
|
4846
5269
|
var _DYN_MAX_BATCH_INTERVAL = "maxBatchInterval";
|
|
4847
5270
|
var _DYN_SERIALIZE = "serialize";
|
|
4848
|
-
var _DYN__XHR_READY_STATE_CHA8 = "_xhrReadyStateChange";
|
|
4849
5271
|
var _DYN__ON_ERROR = "_onError";
|
|
4850
5272
|
var _DYN__ON_PARTIAL_SUCCESS = "_onPartialSuccess";
|
|
4851
5273
|
var _DYN__ON_SUCCESS = "_onSuccess";
|
|
4852
5274
|
var _DYN_ITEMS_ACCEPTED = "itemsAccepted";
|
|
4853
5275
|
var _DYN_ITEMS_RECEIVED = "itemsReceived";
|
|
5276
|
+
var _DYN_ORI_PAYLOAD = "oriPayload";
|
|
4854
5277
|
var _DYN_BASE_TYPE = "baseType";
|
|
4855
5278
|
var _DYN_SAMPLE_RATE = "sampleRate";
|
|
4856
|
-
var _DYN_ORI_PAYLOAD = "oriPayload";
|
|
4857
|
-
var _DYN_SET_REQUEST_HEADER = "setRequestHeader";
|
|
4858
5279
|
var _DYN_EVENTS_SEND_REQUEST = "eventsSendRequest";
|
|
4859
5280
|
var _DYN_GET_SAMPLING_SCORE = "getSamplingScore";
|
|
4860
5281
|
var _DYN_GET_HASH_CODE_SCORE = "getHashCodeScore";
|
|
@@ -4968,7 +5389,7 @@
|
|
|
4968
5389
|
}
|
|
4969
5390
|
}
|
|
4970
5391
|
var EnvelopeCreator = {
|
|
4971
|
-
Version: '3.1.1-nightly3.
|
|
5392
|
+
Version: '3.1.1-nightly3.2403-02'
|
|
4972
5393
|
};
|
|
4973
5394
|
function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {
|
|
4974
5395
|
EnvelopeCreatorInit(logger, telemetryItem);
|
|
@@ -5159,7 +5580,7 @@
|
|
|
5159
5580
|
_self.getItems = function () {
|
|
5160
5581
|
return _buffer.slice(0);
|
|
5161
5582
|
};
|
|
5162
|
-
_self
|
|
5583
|
+
_self.batchPayloads = function (payload) {
|
|
5163
5584
|
if (payload && payload[_DYN_LENGTH ] > 0) {
|
|
5164
5585
|
var batch = config[_DYN_EMIT_LINE_DELIMITED_0 ] ?
|
|
5165
5586
|
payload.join("\n") :
|
|
@@ -5209,7 +5630,7 @@
|
|
|
5209
5630
|
dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {
|
|
5210
5631
|
var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ]);
|
|
5211
5632
|
var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
|
|
5212
|
-
var buffer = _self._set(bufferItems
|
|
5633
|
+
var buffer = _self._set(bufferItems.concat(notDeliveredItems));
|
|
5213
5634
|
if (buffer[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
|
|
5214
5635
|
buffer[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
|
|
5215
5636
|
}
|
|
@@ -5236,7 +5657,7 @@
|
|
|
5236
5657
|
_setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY ], _self._set(_removePayloadsFromBuffer(payload, _self[_DYN__GET ]())));
|
|
5237
5658
|
var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY ]);
|
|
5238
5659
|
if (sentElements instanceof Array && payload instanceof Array) {
|
|
5239
|
-
sentElements = sentElements
|
|
5660
|
+
sentElements = sentElements.concat(payload);
|
|
5240
5661
|
if (sentElements[_DYN_LENGTH ] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ]) {
|
|
5241
5662
|
_throwInternal(logger, 1 , 67 , "Sent buffer reached its maximum size: " + sentElements[_DYN_LENGTH ], true);
|
|
5242
5663
|
sentElements[_DYN_LENGTH ] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE ];
|
|
@@ -5469,7 +5890,7 @@
|
|
|
5469
5890
|
return 0;
|
|
5470
5891
|
}
|
|
5471
5892
|
while (input[_DYN_LENGTH ] < MIN_INPUT_LENGTH) {
|
|
5472
|
-
input = input
|
|
5893
|
+
input = input.concat(input);
|
|
5473
5894
|
}
|
|
5474
5895
|
var hash = 5381;
|
|
5475
5896
|
for (var i = 0; i < input[_DYN_LENGTH ]; ++i) {
|
|
@@ -5549,18 +5970,7 @@
|
|
|
5549
5970
|
return null;
|
|
5550
5971
|
}
|
|
5551
5972
|
function isOverrideFn(httpXHROverride) {
|
|
5552
|
-
return httpXHROverride && httpXHROverride
|
|
5553
|
-
}
|
|
5554
|
-
function _prependTransports(theTransports, newTransports) {
|
|
5555
|
-
if (newTransports) {
|
|
5556
|
-
if (isNumber(newTransports)) {
|
|
5557
|
-
theTransports = [newTransports][_DYN_CONCAT ](theTransports);
|
|
5558
|
-
}
|
|
5559
|
-
else if (isArray(newTransports)) {
|
|
5560
|
-
theTransports = newTransports[_DYN_CONCAT ](theTransports);
|
|
5561
|
-
}
|
|
5562
|
-
}
|
|
5563
|
-
return theTransports;
|
|
5973
|
+
return httpXHROverride && httpXHROverride.sendPOST;
|
|
5564
5974
|
}
|
|
5565
5975
|
var defaultAppInsightsChannelConfig = objDeepFreeze((_a = {
|
|
5566
5976
|
endpointUrl: cfgDfValidate(isTruthy, DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH)
|
|
@@ -5573,7 +5983,7 @@
|
|
|
5573
5983
|
_a.isRetryDisabled = cfgDfBoolean(),
|
|
5574
5984
|
_a[_DYN_IS_BEACON_API_DISABL3 ] = cfgDfBoolean(true),
|
|
5575
5985
|
_a[_DYN_DISABLE_SEND_BEACON_7 ] = cfgDfBoolean(true),
|
|
5576
|
-
_a
|
|
5986
|
+
_a[_DYN_DISABLE_XHR ] = cfgDfBoolean(),
|
|
5577
5987
|
_a[_DYN_ONUNLOAD_DISABLE_FET6 ] = cfgDfBoolean(),
|
|
5578
5988
|
_a[_DYN_ONUNLOAD_DISABLE_BEA2 ] = cfgDfBoolean(),
|
|
5579
5989
|
_a[_DYN_INSTRUMENTATION_KEY ] = UNDEFINED_VALUE,
|
|
@@ -5638,6 +6048,7 @@
|
|
|
5638
6048
|
var _xhrSend;
|
|
5639
6049
|
var _fallbackSend;
|
|
5640
6050
|
var _disableBeaconSplit;
|
|
6051
|
+
var _sendPostMgr;
|
|
5641
6052
|
dynamicProto(Sender, _this, function (_self, _base) {
|
|
5642
6053
|
_initDefaults();
|
|
5643
6054
|
_self.pause = function () {
|
|
@@ -5682,11 +6093,11 @@
|
|
|
5682
6093
|
_self.addHeader = function (name, value) {
|
|
5683
6094
|
_headers[name] = value;
|
|
5684
6095
|
};
|
|
5685
|
-
_self
|
|
6096
|
+
_self[_DYN_INITIALIZE ] = function (config, core, extensions, pluginChain) {
|
|
5686
6097
|
if (_self.isInitialized()) {
|
|
5687
6098
|
_throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 28 , "Sender is already initialized");
|
|
5688
6099
|
}
|
|
5689
|
-
_base
|
|
6100
|
+
_base[_DYN_INITIALIZE ](config, core, extensions, pluginChain);
|
|
5690
6101
|
var identifier = _self.identifier;
|
|
5691
6102
|
_serializer = new Serializer(core.logger);
|
|
5692
6103
|
_consecutiveErrors = 0;
|
|
@@ -5721,7 +6132,7 @@
|
|
|
5721
6132
|
_beaconOnUnloadSupported = senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 ] === false && isBeaconsSupported();
|
|
5722
6133
|
_beaconNormalSupported = senderConfig[_DYN_IS_BEACON_API_DISABL3 ] === false && isBeaconsSupported();
|
|
5723
6134
|
_alwaysUseCustomSend = senderConfig[_DYN_ALWAYS_USE_XHR_OVERR4 ];
|
|
5724
|
-
_disableXhr = !!senderConfig
|
|
6135
|
+
_disableXhr = !!senderConfig[_DYN_DISABLE_XHR ];
|
|
5725
6136
|
var bufferOverride = senderConfig[_DYN_BUFFER_OVERRIDE ];
|
|
5726
6137
|
var canUseSessionStorage = !!senderConfig[_DYN_ENABLE_SESSION_STORA5 ] &&
|
|
5727
6138
|
(!!bufferOverride || utlCanUseSessionStorage());
|
|
@@ -5763,13 +6174,21 @@
|
|
|
5763
6174
|
else {
|
|
5764
6175
|
_customHeaders = null;
|
|
5765
6176
|
}
|
|
5766
|
-
_enableSendPromise = senderConfig
|
|
6177
|
+
_enableSendPromise = senderConfig[_DYN_ENABLE_SEND_PROMISE ];
|
|
6178
|
+
var sendPostConfig = _getSendPostMgrConfig();
|
|
6179
|
+
if (!_sendPostMgr) {
|
|
6180
|
+
_sendPostMgr = new SenderPostManager();
|
|
6181
|
+
_sendPostMgr[_DYN_INITIALIZE ](sendPostConfig, diagLog);
|
|
6182
|
+
}
|
|
6183
|
+
else {
|
|
6184
|
+
_sendPostMgr.SetConfig(sendPostConfig);
|
|
6185
|
+
}
|
|
5767
6186
|
var customInterface = senderConfig.httpXHROverride;
|
|
5768
6187
|
var httpInterface = null;
|
|
5769
6188
|
var syncInterface = null;
|
|
5770
|
-
var theTransports =
|
|
5771
|
-
httpInterface =
|
|
5772
|
-
var xhrInterface =
|
|
6189
|
+
var theTransports = prependTransports([3 , 1 , 2 ], senderConfig.transports);
|
|
6190
|
+
httpInterface = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ](theTransports, false);
|
|
6191
|
+
var xhrInterface = _sendPostMgr && _sendPostMgr.getFallbackInst();
|
|
5773
6192
|
_xhrSend = function (payload, isAsync) {
|
|
5774
6193
|
return _doSend(xhrInterface, payload, isAsync);
|
|
5775
6194
|
};
|
|
@@ -5783,11 +6202,11 @@
|
|
|
5783
6202
|
if (_fetchKeepAlive) {
|
|
5784
6203
|
_syncUnloadSender = _fetchKeepAliveSender;
|
|
5785
6204
|
}
|
|
5786
|
-
var syncTransports =
|
|
6205
|
+
var syncTransports = prependTransports([3 , 1 ], senderConfig[_DYN_UNLOAD_TRANSPORTS ]);
|
|
5787
6206
|
if (!_fetchKeepAlive) {
|
|
5788
6207
|
syncTransports = syncTransports.filter(function (transport) { return transport !== 2 ; });
|
|
5789
6208
|
}
|
|
5790
|
-
syncInterface =
|
|
6209
|
+
syncInterface = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ](syncTransports, true);
|
|
5791
6210
|
syncInterface = _alwaysUseCustomSend ? customInterface : (syncInterface || customInterface);
|
|
5792
6211
|
if ((_alwaysUseCustomSend || senderConfig[_DYN_UNLOAD_TRANSPORTS ] || !_syncUnloadSender) && syncInterface) {
|
|
5793
6212
|
_syncUnloadSender = function (payload, isAsync) {
|
|
@@ -5829,10 +6248,8 @@
|
|
|
5829
6248
|
_self.isCompletelyIdle = function () {
|
|
5830
6249
|
return !_paused && _syncFetchPayload === 0 && _self._buffer[_DYN_COUNT ]() === 0;
|
|
5831
6250
|
};
|
|
5832
|
-
_self
|
|
5833
|
-
|
|
5834
|
-
_checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, _formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
|
|
5835
|
-
}
|
|
6251
|
+
_self._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {
|
|
6252
|
+
return _xhrReadyStateChange(xhr, payload, countOfItemsInPayload);
|
|
5836
6253
|
};
|
|
5837
6254
|
_self[_DYN_TRIGGER_SEND ] = function (async, forcedSender, sendReason) {
|
|
5838
6255
|
if (async === void 0) { async = true; }
|
|
@@ -5908,7 +6325,7 @@
|
|
|
5908
6325
|
_self[_DYN__ON_SUCCESS ](payload, results[_DYN_ITEMS_ACCEPTED ]);
|
|
5909
6326
|
}
|
|
5910
6327
|
if (failed[_DYN_LENGTH ] > 0) {
|
|
5911
|
-
_self[_DYN__ON_ERROR ](failed,
|
|
6328
|
+
_self[_DYN__ON_ERROR ](failed, formatErrorMessageXhr(null, ["partial success", results[_DYN_ITEMS_ACCEPTED ], "of", results.itemsReceived].join(" ")));
|
|
5912
6329
|
}
|
|
5913
6330
|
if (retry[_DYN_LENGTH ] > 0) {
|
|
5914
6331
|
_resendPayload(retry);
|
|
@@ -5921,22 +6338,89 @@
|
|
|
5921
6338
|
_self._buffer && _self._buffer[_DYN_CLEAR_SENT ](payload);
|
|
5922
6339
|
};
|
|
5923
6340
|
_self._xdrOnLoad = function (xdr, payload) {
|
|
6341
|
+
return _xdrOnLoad(xdr, payload);
|
|
6342
|
+
};
|
|
6343
|
+
function _xdrOnLoad(xdr, payload) {
|
|
5924
6344
|
var responseText = _getResponseText(xdr);
|
|
5925
6345
|
if (xdr && (responseText + "" === "200" || responseText === "")) {
|
|
5926
6346
|
_consecutiveErrors = 0;
|
|
5927
6347
|
_self[_DYN__ON_SUCCESS ](payload, 0);
|
|
5928
6348
|
}
|
|
5929
6349
|
else {
|
|
5930
|
-
var results =
|
|
6350
|
+
var results = parseResponse(responseText);
|
|
5931
6351
|
if (results && results.itemsReceived && results.itemsReceived > results[_DYN_ITEMS_ACCEPTED ]
|
|
5932
6352
|
&& !_isRetryDisabled) {
|
|
5933
6353
|
_self[_DYN__ON_PARTIAL_SUCCESS ](payload, results);
|
|
5934
6354
|
}
|
|
5935
6355
|
else {
|
|
5936
|
-
_self[_DYN__ON_ERROR ](payload,
|
|
6356
|
+
_self[_DYN__ON_ERROR ](payload, formatErrorMessageXdr(xdr));
|
|
5937
6357
|
}
|
|
5938
6358
|
}
|
|
5939
|
-
}
|
|
6359
|
+
}
|
|
6360
|
+
function _getSendPostMgrConfig() {
|
|
6361
|
+
var _a;
|
|
6362
|
+
try {
|
|
6363
|
+
var onCompleteFuncs = {
|
|
6364
|
+
xdrOnComplete: function (xdr, oncomplete, payload) {
|
|
6365
|
+
var data = _getPayloadArr(payload);
|
|
6366
|
+
if (!data) {
|
|
6367
|
+
return;
|
|
6368
|
+
}
|
|
6369
|
+
return _xdrOnLoad(xdr, data);
|
|
6370
|
+
},
|
|
6371
|
+
fetchOnComplete: function (response, onComplete, resValue, payload) {
|
|
6372
|
+
var data = _getPayloadArr(payload);
|
|
6373
|
+
if (!data) {
|
|
6374
|
+
return;
|
|
6375
|
+
}
|
|
6376
|
+
return _checkResponsStatus(response.status, data, response.url, data[_DYN_LENGTH ], response.statusText, resValue || "");
|
|
6377
|
+
},
|
|
6378
|
+
xhrOnComplete: function (request, oncomplete, payload) {
|
|
6379
|
+
var data = _getPayloadArr(payload);
|
|
6380
|
+
if (!data) {
|
|
6381
|
+
return;
|
|
6382
|
+
}
|
|
6383
|
+
return _xhrReadyStateChange(request, data, data[_DYN_LENGTH ]);
|
|
6384
|
+
},
|
|
6385
|
+
beaconOnRetry: function (data, onComplete, canSend) {
|
|
6386
|
+
return _onBeaconRetry(data, onComplete, canSend);
|
|
6387
|
+
}
|
|
6388
|
+
};
|
|
6389
|
+
var config = (_a = {},
|
|
6390
|
+
_a[_DYN_ENABLE_SEND_PROMISE ] = _enableSendPromise,
|
|
6391
|
+
_a.isOneDs = false,
|
|
6392
|
+
_a.disableCredentials = false,
|
|
6393
|
+
_a[_DYN_DISABLE_XHR ] = _disableXhr,
|
|
6394
|
+
_a.disableBeacon = !_beaconNormalSupported,
|
|
6395
|
+
_a.disableBeaconSync = !_beaconOnUnloadSupported,
|
|
6396
|
+
_a.senderOnCompleteCallBack = onCompleteFuncs,
|
|
6397
|
+
_a);
|
|
6398
|
+
return config;
|
|
6399
|
+
}
|
|
6400
|
+
catch (e) {
|
|
6401
|
+
}
|
|
6402
|
+
return null;
|
|
6403
|
+
}
|
|
6404
|
+
function _xhrReadyStateChange(xhr, payload, countOfItemsInPayload) {
|
|
6405
|
+
if (xhr.readyState === 4) {
|
|
6406
|
+
_checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);
|
|
6407
|
+
}
|
|
6408
|
+
}
|
|
6409
|
+
function _getPayloadArr(payload) {
|
|
6410
|
+
try {
|
|
6411
|
+
if (payload) {
|
|
6412
|
+
var internalPayload = payload;
|
|
6413
|
+
var arr = internalPayload[_DYN_ORI_PAYLOAD ];
|
|
6414
|
+
if (arr && arr[_DYN_LENGTH ]) {
|
|
6415
|
+
return arr;
|
|
6416
|
+
}
|
|
6417
|
+
return null;
|
|
6418
|
+
}
|
|
6419
|
+
}
|
|
6420
|
+
catch (e) {
|
|
6421
|
+
}
|
|
6422
|
+
return null;
|
|
6423
|
+
}
|
|
5940
6424
|
function _validate(telemetryItem, diagLogger) {
|
|
5941
6425
|
if (_disableTelemetry) {
|
|
5942
6426
|
return false;
|
|
@@ -6032,36 +6516,6 @@
|
|
|
6032
6516
|
function _isSampledIn(envelope) {
|
|
6033
6517
|
return _self._sample.isSampledIn(envelope);
|
|
6034
6518
|
}
|
|
6035
|
-
function _getSenderInterface(transports, syncSupport) {
|
|
6036
|
-
var _a;
|
|
6037
|
-
var transportType = null;
|
|
6038
|
-
var sendPostFunc = null;
|
|
6039
|
-
var lp = 0;
|
|
6040
|
-
while (sendPostFunc == null && lp < transports[_DYN_LENGTH ]) {
|
|
6041
|
-
transportType = transports[lp];
|
|
6042
|
-
if (!_disableXhr && transportType === 1 ) {
|
|
6043
|
-
if (useXDomainRequest()) {
|
|
6044
|
-
sendPostFunc = _xdrSender;
|
|
6045
|
-
}
|
|
6046
|
-
else if (isXhrSupported()) {
|
|
6047
|
-
sendPostFunc = _xhrSender;
|
|
6048
|
-
}
|
|
6049
|
-
}
|
|
6050
|
-
else if (transportType === 2 && isFetchSupported(syncSupport)) {
|
|
6051
|
-
sendPostFunc = _fetchSender;
|
|
6052
|
-
}
|
|
6053
|
-
else if (transportType === 3 && (syncSupport ? _beaconOnUnloadSupported : _beaconNormalSupported)) {
|
|
6054
|
-
sendPostFunc = _beaconSender;
|
|
6055
|
-
}
|
|
6056
|
-
lp++;
|
|
6057
|
-
}
|
|
6058
|
-
if (sendPostFunc) {
|
|
6059
|
-
return _a = {},
|
|
6060
|
-
_a[_DYN_SEND_POST ] = sendPostFunc,
|
|
6061
|
-
_a;
|
|
6062
|
-
}
|
|
6063
|
-
return null;
|
|
6064
|
-
}
|
|
6065
6519
|
function _getOnComplete(payload, status, headers, response) {
|
|
6066
6520
|
if (status === 200 && payload) {
|
|
6067
6521
|
_self._onSuccess(payload, payload[_DYN_LENGTH ]);
|
|
@@ -6076,7 +6530,7 @@
|
|
|
6076
6530
|
return _getOnComplete(payload, status, headers, response);
|
|
6077
6531
|
};
|
|
6078
6532
|
var payloadData = _getPayload(payload);
|
|
6079
|
-
var sendPostFunc = sendInterface && sendInterface
|
|
6533
|
+
var sendPostFunc = sendInterface && sendInterface.sendPOST;
|
|
6080
6534
|
if (sendPostFunc && payloadData) {
|
|
6081
6535
|
if (markAsSent) {
|
|
6082
6536
|
_self._buffer[_DYN_MARK_AS_SENT ](payload);
|
|
@@ -6088,7 +6542,7 @@
|
|
|
6088
6542
|
function _getPayload(payload) {
|
|
6089
6543
|
var _a;
|
|
6090
6544
|
if (isArray(payload) && payload[_DYN_LENGTH ] > 0) {
|
|
6091
|
-
var batch = _self
|
|
6545
|
+
var batch = _self[_DYN__BUFFER ].batchPayloads(payload);
|
|
6092
6546
|
var payloadData = (_a = {},
|
|
6093
6547
|
_a[_DYN_DATA ] = batch,
|
|
6094
6548
|
_a.urlString = _endpointUrl,
|
|
@@ -6101,9 +6555,6 @@
|
|
|
6101
6555
|
}
|
|
6102
6556
|
return null;
|
|
6103
6557
|
}
|
|
6104
|
-
function _fetchSender(payload, oncomplete, sync) {
|
|
6105
|
-
return _doFetchSender(payload, oncomplete, false);
|
|
6106
|
-
}
|
|
6107
6558
|
function _checkMaxSize(incomingPayload) {
|
|
6108
6559
|
var incomingSize = incomingPayload ? incomingPayload[_DYN_LENGTH ] : 0;
|
|
6109
6560
|
if ((_self[_DYN__BUFFER ].size() + incomingSize) > _maxBatchSizeInBytes) {
|
|
@@ -6117,7 +6568,7 @@
|
|
|
6117
6568
|
function _checkResponsStatus(status, payload, responseUrl, countOfItemsInPayload, errorMessage, res) {
|
|
6118
6569
|
var response = null;
|
|
6119
6570
|
if (!_self._appId) {
|
|
6120
|
-
response =
|
|
6571
|
+
response = parseResponse(res);
|
|
6121
6572
|
if (response && response.appId) {
|
|
6122
6573
|
_self._appId = response.appId;
|
|
6123
6574
|
}
|
|
@@ -6149,7 +6600,7 @@
|
|
|
6149
6600
|
_checkAndUpdateEndPointUrl(responseUrl);
|
|
6150
6601
|
if (status === 206) {
|
|
6151
6602
|
if (!response) {
|
|
6152
|
-
response =
|
|
6603
|
+
response = parseResponse(res);
|
|
6153
6604
|
}
|
|
6154
6605
|
if (response && !_isRetryDisabled) {
|
|
6155
6606
|
_self[_DYN__ON_PARTIAL_SUCCESS ](payload, response);
|
|
@@ -6177,223 +6628,61 @@
|
|
|
6177
6628
|
}
|
|
6178
6629
|
return false;
|
|
6179
6630
|
}
|
|
6180
|
-
function _doOnComplete(oncomplete, status, headers, response) {
|
|
6181
|
-
try {
|
|
6182
|
-
oncomplete(status, headers, response);
|
|
6183
|
-
}
|
|
6184
|
-
catch (e) {
|
|
6185
|
-
}
|
|
6186
|
-
}
|
|
6187
6631
|
function _doUnloadSend(payload, isAsync) {
|
|
6188
6632
|
if (_syncUnloadSender) {
|
|
6189
6633
|
_syncUnloadSender(payload, false);
|
|
6190
6634
|
}
|
|
6191
6635
|
else {
|
|
6192
|
-
var
|
|
6193
|
-
|
|
6194
|
-
_beaconSender(payloadData);
|
|
6636
|
+
var beaconInst = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ]([3 ], true);
|
|
6637
|
+
return _doSend(beaconInst, payload, isAsync);
|
|
6195
6638
|
}
|
|
6196
6639
|
}
|
|
6197
|
-
function
|
|
6198
|
-
var nav = getNavigator();
|
|
6199
|
-
var url = _endpointUrl;
|
|
6200
|
-
var buffer = _self[_DYN__BUFFER ];
|
|
6201
|
-
var batch = buffer[_DYN_BATCH_PAYLOADS ](payload);
|
|
6202
|
-
var plainTextBatch = new Blob([batch], { type: "text/plain;charset=UTF-8" });
|
|
6203
|
-
var queued = nav.sendBeacon(url, plainTextBatch);
|
|
6204
|
-
if (queued) {
|
|
6205
|
-
_self._onSuccess(payload, payload[_DYN_LENGTH ]);
|
|
6206
|
-
}
|
|
6207
|
-
return queued;
|
|
6208
|
-
}
|
|
6209
|
-
function _beaconSender(payload, oncomplete, sync) {
|
|
6640
|
+
function _onBeaconRetry(payload, onComplete, canSend) {
|
|
6210
6641
|
var internalPayload = payload;
|
|
6211
6642
|
var data = internalPayload && internalPayload[_DYN_ORI_PAYLOAD ];
|
|
6212
|
-
if (
|
|
6213
|
-
|
|
6214
|
-
|
|
6215
|
-
|
|
6216
|
-
|
|
6217
|
-
|
|
6218
|
-
|
|
6219
|
-
|
|
6220
|
-
}
|
|
6221
|
-
}
|
|
6222
|
-
if (droppedPayload[_DYN_LENGTH ] > 0) {
|
|
6223
|
-
_fallbackSend && _fallbackSend(droppedPayload, true);
|
|
6224
|
-
_throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
|
|
6225
|
-
}
|
|
6643
|
+
if (!_disableBeaconSplit) {
|
|
6644
|
+
var droppedPayload = [];
|
|
6645
|
+
for (var lp = 0; lp < data[_DYN_LENGTH ]; lp++) {
|
|
6646
|
+
var thePayload = data[lp];
|
|
6647
|
+
var arr = [thePayload];
|
|
6648
|
+
var item = _getPayload(arr);
|
|
6649
|
+
if (!canSend(item, onComplete)) {
|
|
6650
|
+
droppedPayload[_DYN_PUSH ](thePayload);
|
|
6226
6651
|
}
|
|
6227
6652
|
else {
|
|
6228
|
-
|
|
6229
|
-
_throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
|
|
6653
|
+
_self._onSuccess(arr, arr[_DYN_LENGTH ]);
|
|
6230
6654
|
}
|
|
6231
6655
|
}
|
|
6232
|
-
|
|
6233
|
-
|
|
6234
|
-
|
|
6235
|
-
var internalPayload = payload;
|
|
6236
|
-
var thePromise;
|
|
6237
|
-
var resolveFunc;
|
|
6238
|
-
var rejectFunc;
|
|
6239
|
-
var xhr = new XMLHttpRequest();
|
|
6240
|
-
var endPointUrl = _endpointUrl;
|
|
6241
|
-
try {
|
|
6242
|
-
xhr[DisabledPropertyName] = true;
|
|
6243
|
-
}
|
|
6244
|
-
catch (e) {
|
|
6245
|
-
}
|
|
6246
|
-
xhr.open("POST", endPointUrl, !sync);
|
|
6247
|
-
xhr[_DYN_SET_REQUEST_HEADER ]("Content-type", "application/json");
|
|
6248
|
-
if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
|
|
6249
|
-
xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[6 ], RequestHeaders[7 ]);
|
|
6250
|
-
}
|
|
6251
|
-
arrForEach(objKeys(_headers), function (headerName) {
|
|
6252
|
-
xhr[_DYN_SET_REQUEST_HEADER ](headerName, _headers[headerName]);
|
|
6253
|
-
});
|
|
6254
|
-
xhr.onreadystatechange = function () {
|
|
6255
|
-
var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
|
|
6256
|
-
_self._xhrReadyStateChange(xhr, oriPayload, oriPayload[_DYN_LENGTH ]);
|
|
6257
|
-
if (xhr.readyState === 4) {
|
|
6258
|
-
resolveFunc && resolveFunc(true);
|
|
6656
|
+
if (droppedPayload[_DYN_LENGTH ] > 0) {
|
|
6657
|
+
_fallbackSend && _fallbackSend(droppedPayload, true);
|
|
6658
|
+
_throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
|
|
6259
6659
|
}
|
|
6260
|
-
};
|
|
6261
|
-
xhr.onerror = function (event) {
|
|
6262
|
-
_doOnComplete(oncomplete, 400, {}, _formatErrorMessageXhr(xhr));
|
|
6263
|
-
rejectFunc && rejectFunc(event);
|
|
6264
|
-
};
|
|
6265
|
-
if (!sync && _enableSendPromise) {
|
|
6266
|
-
thePromise = createPromise(function (resolve, reject) {
|
|
6267
|
-
resolveFunc = resolve;
|
|
6268
|
-
rejectFunc = reject;
|
|
6269
|
-
});
|
|
6270
6660
|
}
|
|
6271
|
-
|
|
6272
|
-
|
|
6661
|
+
else {
|
|
6662
|
+
_fallbackSend && _fallbackSend(data, true);
|
|
6663
|
+
_throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with normal sender.");
|
|
6664
|
+
}
|
|
6273
6665
|
}
|
|
6274
6666
|
function _fetchKeepAliveSender(payload, isAsync) {
|
|
6275
|
-
var
|
|
6276
|
-
return _getOnComplete(payload, status, headers, response);
|
|
6277
|
-
};
|
|
6667
|
+
var transport = null;
|
|
6278
6668
|
if (isArray(payload)) {
|
|
6279
6669
|
var payloadSize = payload[_DYN_LENGTH ];
|
|
6280
6670
|
for (var lp = 0; lp < payload[_DYN_LENGTH ]; lp++) {
|
|
6281
6671
|
payloadSize += payload[lp][_DYN_LENGTH ];
|
|
6282
6672
|
}
|
|
6283
|
-
var
|
|
6284
|
-
|
|
6285
|
-
|
|
6286
|
-
_doFetchSender(payloadData, onComplete, true);
|
|
6673
|
+
var syncFetchPayload = _sendPostMgr.getSyncFetchPayload();
|
|
6674
|
+
if ((syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {
|
|
6675
|
+
transport = 2 ;
|
|
6287
6676
|
}
|
|
6288
6677
|
else if (isBeaconsSupported()) {
|
|
6289
|
-
|
|
6678
|
+
transport = 3 ;
|
|
6290
6679
|
}
|
|
6291
6680
|
else {
|
|
6292
|
-
|
|
6681
|
+
transport = 1 ;
|
|
6293
6682
|
_throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " + "Failed to send telemetry with Beacon API, retried with xhrSender.");
|
|
6294
6683
|
}
|
|
6295
|
-
|
|
6296
|
-
|
|
6297
|
-
function _doFetchSender(payload, oncomplete, sync) {
|
|
6298
|
-
var _a;
|
|
6299
|
-
var endPointUrl = _endpointUrl;
|
|
6300
|
-
var internalPayload = payload;
|
|
6301
|
-
var batch = internalPayload[_DYN_DATA ];
|
|
6302
|
-
var plainTextBatch = new Blob([batch], { type: "application/json" });
|
|
6303
|
-
var thePromise;
|
|
6304
|
-
var resolveFunc;
|
|
6305
|
-
var rejectFunc;
|
|
6306
|
-
var requestHeaders = new Headers();
|
|
6307
|
-
var batchLength = batch[_DYN_LENGTH ];
|
|
6308
|
-
var ignoreResponse = false;
|
|
6309
|
-
var responseHandled = false;
|
|
6310
|
-
if (isInternalApplicationInsightsEndpoint(endPointUrl)) {
|
|
6311
|
-
requestHeaders.append(RequestHeaders[6 ], RequestHeaders[7 ]);
|
|
6312
|
-
}
|
|
6313
|
-
arrForEach(objKeys(_headers), function (headerName) {
|
|
6314
|
-
requestHeaders.append(headerName, _headers[headerName]);
|
|
6315
|
-
});
|
|
6316
|
-
var init = (_a = {
|
|
6317
|
-
method: "POST",
|
|
6318
|
-
headers: requestHeaders,
|
|
6319
|
-
body: plainTextBatch
|
|
6320
|
-
},
|
|
6321
|
-
_a[DisabledPropertyName] = true
|
|
6322
|
-
,
|
|
6323
|
-
_a);
|
|
6324
|
-
if (sync) {
|
|
6325
|
-
init.keepalive = true;
|
|
6326
|
-
ignoreResponse = true;
|
|
6327
|
-
_syncFetchPayload += batchLength;
|
|
6328
|
-
}
|
|
6329
|
-
var request = new Request(endPointUrl, init);
|
|
6330
|
-
try {
|
|
6331
|
-
request[DisabledPropertyName] = true;
|
|
6332
|
-
}
|
|
6333
|
-
catch (e) {
|
|
6334
|
-
}
|
|
6335
|
-
if (!sync && _enableSendPromise) {
|
|
6336
|
-
thePromise = createPromise(function (resolve, reject) {
|
|
6337
|
-
resolveFunc = resolve;
|
|
6338
|
-
rejectFunc = reject;
|
|
6339
|
-
});
|
|
6340
|
-
}
|
|
6341
|
-
try {
|
|
6342
|
-
doAwaitResponse(fetch(request), function (result) {
|
|
6343
|
-
if (sync) {
|
|
6344
|
-
_syncFetchPayload -= batchLength;
|
|
6345
|
-
batchLength = 0;
|
|
6346
|
-
}
|
|
6347
|
-
if (!responseHandled) {
|
|
6348
|
-
responseHandled = true;
|
|
6349
|
-
if (!result.rejected) {
|
|
6350
|
-
var response_1 = result.value;
|
|
6351
|
-
if (!response_1.ok) {
|
|
6352
|
-
_doOnComplete(oncomplete, 400, {}, response_1.statusText);
|
|
6353
|
-
resolveFunc && resolveFunc(false);
|
|
6354
|
-
}
|
|
6355
|
-
else {
|
|
6356
|
-
doAwaitResponse(response_1.text(), function (resp) {
|
|
6357
|
-
var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
|
|
6358
|
-
_checkResponsStatus(response_1.status, oriPayload, response_1.url, oriPayload[_DYN_LENGTH ], response_1.statusText, resp.value || "");
|
|
6359
|
-
resolveFunc && resolveFunc(true);
|
|
6360
|
-
});
|
|
6361
|
-
}
|
|
6362
|
-
}
|
|
6363
|
-
else {
|
|
6364
|
-
_doOnComplete(oncomplete, 400, {}, result.reason && result.reason.message);
|
|
6365
|
-
rejectFunc && rejectFunc(result.reason);
|
|
6366
|
-
}
|
|
6367
|
-
}
|
|
6368
|
-
});
|
|
6369
|
-
}
|
|
6370
|
-
catch (e) {
|
|
6371
|
-
if (!responseHandled) {
|
|
6372
|
-
_doOnComplete(oncomplete, 400, {}, dumpObj(e));
|
|
6373
|
-
rejectFunc && rejectFunc(e);
|
|
6374
|
-
}
|
|
6375
|
-
}
|
|
6376
|
-
if (ignoreResponse && !responseHandled) {
|
|
6377
|
-
responseHandled = true;
|
|
6378
|
-
_doOnComplete(oncomplete, 200, {});
|
|
6379
|
-
resolveFunc && resolveFunc(true);
|
|
6380
|
-
}
|
|
6381
|
-
return thePromise;
|
|
6382
|
-
}
|
|
6383
|
-
function _parseResponse(response) {
|
|
6384
|
-
try {
|
|
6385
|
-
if (response && response !== "") {
|
|
6386
|
-
var result = getJSON().parse(response);
|
|
6387
|
-
if (result && result.itemsReceived && result.itemsReceived >= result[_DYN_ITEMS_ACCEPTED ] &&
|
|
6388
|
-
result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH ]) {
|
|
6389
|
-
return result;
|
|
6390
|
-
}
|
|
6391
|
-
}
|
|
6392
|
-
}
|
|
6393
|
-
catch (e) {
|
|
6394
|
-
_throwInternal(_self[_DYN_DIAG_LOG ](), 1 , 43 , "Cannot parse the response. " + getExceptionName(e), {
|
|
6395
|
-
response: response
|
|
6396
|
-
});
|
|
6684
|
+
var inst = _sendPostMgr && _sendPostMgr[_DYN_GET_XHR_INST ]([transport], true);
|
|
6685
|
+
return _doSend(inst, payload, isAsync);
|
|
6397
6686
|
}
|
|
6398
6687
|
return null;
|
|
6399
6688
|
}
|
|
@@ -6452,41 +6741,6 @@
|
|
|
6452
6741
|
|| statusCode === 503
|
|
6453
6742
|
|| statusCode === 504;
|
|
6454
6743
|
}
|
|
6455
|
-
function _formatErrorMessageXhr(xhr, message) {
|
|
6456
|
-
if (xhr) {
|
|
6457
|
-
return "XMLHttpRequest,Status:" + xhr.status + ",Response:" + _getResponseText(xhr) || xhr.response || "";
|
|
6458
|
-
}
|
|
6459
|
-
return message;
|
|
6460
|
-
}
|
|
6461
|
-
function _xdrSender(payload, oncomplete, sync) {
|
|
6462
|
-
var internalPayload = payload;
|
|
6463
|
-
var _window = getWindow();
|
|
6464
|
-
var xdr = new XDomainRequest();
|
|
6465
|
-
var data = internalPayload[_DYN_DATA ];
|
|
6466
|
-
xdr.onload = function () {
|
|
6467
|
-
var oriPayload = internalPayload[_DYN_ORI_PAYLOAD ];
|
|
6468
|
-
_self._xdrOnLoad(xdr, oriPayload);
|
|
6469
|
-
};
|
|
6470
|
-
xdr.onerror = function () {
|
|
6471
|
-
_doOnComplete(oncomplete, 400, {}, _formatErrorMessageXdr(xdr));
|
|
6472
|
-
};
|
|
6473
|
-
var hostingProtocol = _window && _window.location && _window.location.protocol || "";
|
|
6474
|
-
if (_endpointUrl.lastIndexOf(hostingProtocol, 0) !== 0) {
|
|
6475
|
-
_throwInternal(_self[_DYN_DIAG_LOG ](), 2 , 40 , ". " +
|
|
6476
|
-
"Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.");
|
|
6477
|
-
_self._buffer[_DYN_CLEAR ]();
|
|
6478
|
-
return;
|
|
6479
|
-
}
|
|
6480
|
-
var endpointUrl = _endpointUrl.replace(/^(https?:)/, "");
|
|
6481
|
-
xdr.open("POST", endpointUrl);
|
|
6482
|
-
xdr.send(data);
|
|
6483
|
-
}
|
|
6484
|
-
function _formatErrorMessageXdr(xdr, message) {
|
|
6485
|
-
if (xdr) {
|
|
6486
|
-
return "XDomainRequest,Response:" + _getResponseText(xdr) || "";
|
|
6487
|
-
}
|
|
6488
|
-
return message;
|
|
6489
|
-
}
|
|
6490
6744
|
function _getNotifyMgr() {
|
|
6491
6745
|
var func = "getNotifyMgr";
|
|
6492
6746
|
if (_self.core[func]) {
|
|
@@ -6547,6 +6801,7 @@
|
|
|
6547
6801
|
_disableBeaconSplit = false;
|
|
6548
6802
|
_xhrSend = null;
|
|
6549
6803
|
_fallbackSend = null;
|
|
6804
|
+
_sendPostMgr = null;
|
|
6550
6805
|
objDefine(_self, "_senderConfig", {
|
|
6551
6806
|
g: function () {
|
|
6552
6807
|
return objExtend({}, defaultAppInsightsChannelConfig);
|