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