@microsoft/applicationinsights-dependencies-js 2.8.16-nightly.2308-02 → 2.8.16-nightly.2308-17
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/applicationinsights-dependencies-js.integrity.json +9 -9
- package/browser/applicationinsights-dependencies-js.js +126 -56
- package/browser/applicationinsights-dependencies-js.js.map +1 -1
- package/browser/applicationinsights-dependencies-js.min.js +2 -2
- package/browser/applicationinsights-dependencies-js.min.js.map +1 -1
- package/dist/applicationinsights-dependencies-js.api.json +92 -6
- package/dist/applicationinsights-dependencies-js.api.md +12 -1
- package/dist/applicationinsights-dependencies-js.d.ts +21 -5
- package/dist/applicationinsights-dependencies-js.js +126 -56
- package/dist/applicationinsights-dependencies-js.js.map +1 -1
- package/dist/applicationinsights-dependencies-js.min.js +2 -2
- package/dist/applicationinsights-dependencies-js.min.js.map +1 -1
- package/dist/applicationinsights-dependencies-js.rollup.d.ts +21 -5
- package/dist-esm/DependencyInitializer.js +1 -1
- package/dist-esm/DependencyListener.js +1 -1
- package/dist-esm/InternalConstants.js +1 -1
- package/dist-esm/__DynamicConstants.js +1 -1
- package/dist-esm/ajax.js +136 -54
- package/dist-esm/ajax.js.map +1 -1
- package/dist-esm/ajaxRecord.js +1 -1
- package/dist-esm/ajaxUtils.js +1 -1
- package/dist-esm/applicationinsights-dependencies-js.js +1 -1
- package/package.json +4 -4
- package/src/ajax.ts +160 -60
- package/src/applicationinsights-dependencies-js.ts +1 -1
- package/types/ajax.d.ts +19 -4
- package/types/applicationinsights-dependencies-js.d.ts +1 -1
- package/types/tsdoc-metadata.json +1 -1
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "applicationinsights-dependencies-js",
|
|
3
|
-
"version": "2.8.16-nightly.2308-
|
|
3
|
+
"version": "2.8.16-nightly.2308-17",
|
|
4
4
|
"ext": {
|
|
5
5
|
"@js": {
|
|
6
6
|
"file": "applicationinsights-dependencies-js.js",
|
|
7
7
|
"type": "text/javascript; charset=utf-8",
|
|
8
|
-
"integrity": "sha256-
|
|
8
|
+
"integrity": "sha256-QzPu7SEyu+NNzxyoi1pc6aV/ZE/tldYhQQPG2yrL7VQ= sha384-MYMlGqlcYqpdU8EU95BX2q9v2ywmxB0UI81nX8jz56a5eO3UF7/8kafwcEnjQgQd sha512-g9S0AGPSQctmGD6b2s0dVrjjdGqH5HSt8jrpkuszoi4Ab0NgaP2Rj+Oj52PbC/z6K5FfD9tnRpq7hb489DP2Rw==",
|
|
9
9
|
"hashes": {
|
|
10
|
-
"sha256": "
|
|
11
|
-
"sha384": "
|
|
12
|
-
"sha512": "
|
|
10
|
+
"sha256": "QzPu7SEyu+NNzxyoi1pc6aV/ZE/tldYhQQPG2yrL7VQ=",
|
|
11
|
+
"sha384": "MYMlGqlcYqpdU8EU95BX2q9v2ywmxB0UI81nX8jz56a5eO3UF7/8kafwcEnjQgQd",
|
|
12
|
+
"sha512": "g9S0AGPSQctmGD6b2s0dVrjjdGqH5HSt8jrpkuszoi4Ab0NgaP2Rj+Oj52PbC/z6K5FfD9tnRpq7hb489DP2Rw=="
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"@min.js": {
|
|
16
16
|
"file": "applicationinsights-dependencies-js.min.js",
|
|
17
17
|
"type": "text/javascript; charset=utf-8",
|
|
18
|
-
"integrity": "sha256
|
|
18
|
+
"integrity": "sha256-+Ls4VtAyV4DunMdyttjeb/CP+/+CN0InHG8OksRsSjI= sha384-uhjdaeMz2lG68wc3kDub8feKN5Jx/iun1clclUjbEoz7HXWggQhvygdRolxdyLDQ sha512-YJR4Akqsr4OdQMk172ms3z8hM9hvWUzswAheXBFpwCcsSZtF8/B0w3ywM8C0Wf5RYSBJCrL7yMEaiwn58a3RAg==",
|
|
19
19
|
"hashes": {
|
|
20
|
-
"sha256": "
|
|
21
|
-
"sha384": "
|
|
22
|
-
"sha512": "
|
|
20
|
+
"sha256": "+Ls4VtAyV4DunMdyttjeb/CP+/+CN0InHG8OksRsSjI=",
|
|
21
|
+
"sha384": "uhjdaeMz2lG68wc3kDub8feKN5Jx/iun1clclUjbEoz7HXWggQhvygdRolxdyLDQ",
|
|
22
|
+
"sha512": "YJR4Akqsr4OdQMk172ms3z8hM9hvWUzswAheXBFpwCcsSZtF8/B0w3ywM8C0Wf5RYSBJCrL7yMEaiwn58a3RAg=="
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Application Insights JavaScript SDK - Dependencies Plugin, 2.8.16-nightly.2308-
|
|
2
|
+
* Application Insights JavaScript SDK - Dependencies Plugin, 2.8.16-nightly.2308-17
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
'use strict';
|
|
@@ -1307,7 +1307,7 @@ function newId(maxLength) {
|
|
|
1307
1307
|
}
|
|
1308
1308
|
|
|
1309
1309
|
var _objDefineProperty = ObjDefineProperty;
|
|
1310
|
-
var version = "2.8.16-nightly.2308-
|
|
1310
|
+
var version = "2.8.16-nightly.2308-17";
|
|
1311
1311
|
var instanceName = "." + newId(6);
|
|
1312
1312
|
var _dataUid = 0;
|
|
1313
1313
|
function _createAccessor(target, prop, value) {
|
|
@@ -1516,7 +1516,7 @@ var INVALID_TRACE_ID = "00000000000000000000000000000000";
|
|
|
1516
1516
|
var INVALID_SPAN_ID = "0000000000000000";
|
|
1517
1517
|
function _isValid(value, len, invalidValue) {
|
|
1518
1518
|
if (value && value[_DYN_LENGTH$2 ] === len && value !== invalidValue) {
|
|
1519
|
-
return !!value.match(/^[\da-f]*$/);
|
|
1519
|
+
return !!value.match(/^[\da-f]*$/i);
|
|
1520
1520
|
}
|
|
1521
1521
|
return false;
|
|
1522
1522
|
}
|
|
@@ -1561,7 +1561,7 @@ function formatTraceParent(value) {
|
|
|
1561
1561
|
if (version !== "00" && version !== "ff") {
|
|
1562
1562
|
version = DEFAULT_VERSION;
|
|
1563
1563
|
}
|
|
1564
|
-
return "".concat(version, "-").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID), "-").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID), "-").concat(flags);
|
|
1564
|
+
return "".concat(version.toLowerCase(), "-").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID).toLowerCase(), "-").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID).toLowerCase(), "-").concat(flags.toLowerCase());
|
|
1565
1565
|
}
|
|
1566
1566
|
return "";
|
|
1567
1567
|
}
|
|
@@ -3133,7 +3133,7 @@ var ajaxRecord = /** @class */ (function () {
|
|
|
3133
3133
|
|
|
3134
3134
|
var AJAX_MONITOR_PREFIX = "ai.ajxmn.";
|
|
3135
3135
|
var strDiagLog = "diagLog";
|
|
3136
|
-
var
|
|
3136
|
+
var AJAX_DATA_CONTAINER = "_ajaxData";
|
|
3137
3137
|
var STR_FETCH = "fetch";
|
|
3138
3138
|
var ERROR_HEADER = "Failed to monitor XMLHttpRequest";
|
|
3139
3139
|
var ERROR_PREFIX = ", monitoring data for this ajax call ";
|
|
@@ -3165,7 +3165,8 @@ function isWebWorker() {
|
|
|
3165
3165
|
}
|
|
3166
3166
|
return _isWebWorker;
|
|
3167
3167
|
}
|
|
3168
|
-
function _supportsAjaxMonitoring(ajaxMonitorInstance) {
|
|
3168
|
+
function _supportsAjaxMonitoring(ajaxMonitorInstance, ajaxDataId) {
|
|
3169
|
+
var _a;
|
|
3169
3170
|
var result = false;
|
|
3170
3171
|
if (isXhrSupported()) {
|
|
3171
3172
|
var proto = XMLHttpRequest[strShimPrototype];
|
|
@@ -3181,7 +3182,13 @@ function _supportsAjaxMonitoring(ajaxMonitorInstance) {
|
|
|
3181
3182
|
if (result) {
|
|
3182
3183
|
try {
|
|
3183
3184
|
var xhr = new XMLHttpRequest();
|
|
3184
|
-
|
|
3185
|
+
var xhrData = {
|
|
3186
|
+
xh: [],
|
|
3187
|
+
i: (_a = {},
|
|
3188
|
+
_a[ajaxDataId] = {},
|
|
3189
|
+
_a)
|
|
3190
|
+
};
|
|
3191
|
+
xhr[AJAX_DATA_CONTAINER] = xhrData;
|
|
3185
3192
|
var theOpen = XMLHttpRequest[strShimPrototype].open;
|
|
3186
3193
|
XMLHttpRequest[strShimPrototype].open = theOpen;
|
|
3187
3194
|
}
|
|
@@ -3194,11 +3201,44 @@ function _supportsAjaxMonitoring(ajaxMonitorInstance) {
|
|
|
3194
3201
|
}
|
|
3195
3202
|
return result;
|
|
3196
3203
|
}
|
|
3197
|
-
function
|
|
3204
|
+
var _getAjaxData = function (xhr, ajaxDataId) {
|
|
3205
|
+
if (xhr && ajaxDataId && xhr[AJAX_DATA_CONTAINER]) {
|
|
3206
|
+
return (xhr[AJAX_DATA_CONTAINER].i || {})[ajaxDataId];
|
|
3207
|
+
}
|
|
3208
|
+
return null;
|
|
3209
|
+
};
|
|
3210
|
+
var _addSharedXhrHeaders = function (xhr, name, value) {
|
|
3211
|
+
if (xhr) {
|
|
3212
|
+
var headers = (xhr[AJAX_DATA_CONTAINER] || {}).xh;
|
|
3213
|
+
if (headers) {
|
|
3214
|
+
headers.push({
|
|
3215
|
+
n: name,
|
|
3216
|
+
v: value
|
|
3217
|
+
});
|
|
3218
|
+
}
|
|
3219
|
+
}
|
|
3220
|
+
};
|
|
3221
|
+
var _isHeaderSet = function (xhr, name) {
|
|
3222
|
+
var isPresent = false;
|
|
3223
|
+
if (xhr) {
|
|
3224
|
+
var headers = (xhr[AJAX_DATA_CONTAINER] || {}).xh;
|
|
3225
|
+
if (headers) {
|
|
3226
|
+
arrForEach(headers, function (header) {
|
|
3227
|
+
if (header.n === name) {
|
|
3228
|
+
isPresent = true;
|
|
3229
|
+
return -1;
|
|
3230
|
+
}
|
|
3231
|
+
});
|
|
3232
|
+
}
|
|
3233
|
+
}
|
|
3234
|
+
return isPresent;
|
|
3235
|
+
};
|
|
3236
|
+
function _getFailedAjaxDiagnosticsMessage(xhr, ajaxDataId) {
|
|
3198
3237
|
var result = "";
|
|
3199
3238
|
try {
|
|
3200
|
-
|
|
3201
|
-
|
|
3239
|
+
var ajaxData = _getAjaxData(xhr, ajaxDataId);
|
|
3240
|
+
if (ajaxData && ajaxData[_DYN_REQUEST_URL ]) {
|
|
3241
|
+
result += "(url: '" + ajaxData[_DYN_REQUEST_URL ] + "')";
|
|
3202
3242
|
}
|
|
3203
3243
|
}
|
|
3204
3244
|
catch (e) {
|
|
@@ -3212,10 +3252,10 @@ function _throwInternalWarning(ajaxMonitorInstance, msgId, message, properties,
|
|
|
3212
3252
|
_throwInternal(ajaxMonitorInstance[strDiagLog](), 2 , msgId, message, properties, isUserAct);
|
|
3213
3253
|
}
|
|
3214
3254
|
function _createErrorCallbackFunc(ajaxMonitorInstance, internalMessage, message) {
|
|
3215
|
-
return function (
|
|
3255
|
+
return function (callDetails) {
|
|
3216
3256
|
_throwInternalCritical(ajaxMonitorInstance, internalMessage, message, {
|
|
3217
|
-
ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(
|
|
3218
|
-
exception: dumpObj(
|
|
3257
|
+
ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(callDetails[_DYN_INST ], ajaxMonitorInstance._ajaxDataId),
|
|
3258
|
+
exception: dumpObj(callDetails.err)
|
|
3219
3259
|
});
|
|
3220
3260
|
};
|
|
3221
3261
|
}
|
|
@@ -3349,6 +3389,7 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
3349
3389
|
var _excludeRequestFromAutoTrackingPatterns;
|
|
3350
3390
|
var _addRequestContext;
|
|
3351
3391
|
var _evtNamespace;
|
|
3392
|
+
var _ajaxDataId;
|
|
3352
3393
|
var _dependencyHandlerId;
|
|
3353
3394
|
var _dependencyListeners;
|
|
3354
3395
|
var _dependencyInitializers;
|
|
@@ -3412,17 +3453,27 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
3412
3453
|
else if (xhr) {
|
|
3413
3454
|
if (CorrelationIdHelper[_DYN_CAN_INCLUDE_CORRELAT3 ](_config, ajaxData[_DYN_GET_ABSOLUTE_URL ](), currentWindowHost)) {
|
|
3414
3455
|
if (_isUsingAIHeaders) {
|
|
3415
|
-
|
|
3416
|
-
|
|
3417
|
-
|
|
3418
|
-
|
|
3456
|
+
if (!_isHeaderSet(xhr, RequestHeaders[3 ])) {
|
|
3457
|
+
var id = "|" + ajaxData[_DYN_TRACE_ID ] + "." + ajaxData[_DYN_SPAN_ID ];
|
|
3458
|
+
xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[3 ], id);
|
|
3459
|
+
if (_enableRequestHeaderTracking) {
|
|
3460
|
+
ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[3 ]] = id;
|
|
3461
|
+
}
|
|
3462
|
+
}
|
|
3463
|
+
else {
|
|
3464
|
+
_throwInternalWarning(_self, 71 , "Unable to set [" + RequestHeaders[3 ] + "] as it has already been set by another instance");
|
|
3419
3465
|
}
|
|
3420
3466
|
}
|
|
3421
3467
|
var appId = _config[_DYN_APP_ID ] || (_context && _context[_DYN_APP_ID ]());
|
|
3422
3468
|
if (appId) {
|
|
3423
|
-
|
|
3424
|
-
|
|
3425
|
-
|
|
3469
|
+
if (!_isHeaderSet(xhr, RequestHeaders[0 ])) {
|
|
3470
|
+
xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[0 ], RequestHeaders[2 ] + appId);
|
|
3471
|
+
if (_enableRequestHeaderTracking) {
|
|
3472
|
+
ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[0 ]] = RequestHeaders[2 ] + appId;
|
|
3473
|
+
}
|
|
3474
|
+
}
|
|
3475
|
+
else {
|
|
3476
|
+
_throwInternalWarning(_self, 71 , "Unable to set [" + RequestHeaders[0 ] + "] as it has already been set by another instance");
|
|
3426
3477
|
}
|
|
3427
3478
|
}
|
|
3428
3479
|
if (_isUsingW3CHeaders) {
|
|
@@ -3430,10 +3481,15 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
3430
3481
|
if (isNullOrUndefined(traceFlags)) {
|
|
3431
3482
|
traceFlags = 0x01;
|
|
3432
3483
|
}
|
|
3433
|
-
|
|
3434
|
-
|
|
3435
|
-
|
|
3436
|
-
|
|
3484
|
+
if (!_isHeaderSet(xhr, RequestHeaders[4 ])) {
|
|
3485
|
+
var traceParent = formatTraceParent(createTraceParent(ajaxData[_DYN_TRACE_ID ], ajaxData[_DYN_SPAN_ID ], traceFlags));
|
|
3486
|
+
xhr[_DYN_SET_REQUEST_HEADER ](RequestHeaders[4 ], traceParent);
|
|
3487
|
+
if (_enableRequestHeaderTracking) {
|
|
3488
|
+
ajaxData[_DYN_REQUEST_HEADERS ][RequestHeaders[4 ]] = traceParent;
|
|
3489
|
+
}
|
|
3490
|
+
}
|
|
3491
|
+
else {
|
|
3492
|
+
_throwInternalWarning(_self, 71 , "Unable to set [" + RequestHeaders[4 ] + "] as it has already been set by another instance");
|
|
3437
3493
|
}
|
|
3438
3494
|
}
|
|
3439
3495
|
}
|
|
@@ -3490,6 +3546,8 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
3490
3546
|
_dependencyHandlerId = 0;
|
|
3491
3547
|
_dependencyListeners = [];
|
|
3492
3548
|
_dependencyInitializers = [];
|
|
3549
|
+
_ajaxDataId = createUniqueNamespace("ajaxData");
|
|
3550
|
+
_self._ajaxDataId = _ajaxDataId;
|
|
3493
3551
|
}
|
|
3494
3552
|
function _populateDefaults(config) {
|
|
3495
3553
|
var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE ]);
|
|
@@ -3612,18 +3670,18 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
3612
3670
|
_addHook(InstrumentProto(target, funcName, callbacks));
|
|
3613
3671
|
}
|
|
3614
3672
|
function _instrumentXhr() {
|
|
3615
|
-
if (_supportsAjaxMonitoring(_self) && !_disableAjaxTracking && !_xhrInitialized) {
|
|
3673
|
+
if (_supportsAjaxMonitoring(_self, _ajaxDataId) && !_disableAjaxTracking && !_xhrInitialized) {
|
|
3616
3674
|
_hookProto(XMLHttpRequest, "open", {
|
|
3617
3675
|
ns: _evtNamespace,
|
|
3618
|
-
req: function (
|
|
3676
|
+
req: function (callDetails, method, url, async) {
|
|
3619
3677
|
if (!_disableAjaxTracking) {
|
|
3620
|
-
var xhr =
|
|
3621
|
-
var ajaxData = xhr
|
|
3622
|
-
if (!_isDisabledRequest(xhr, url) && _isMonitoredXhrInstance(xhr, true)) {
|
|
3678
|
+
var xhr = callDetails[_DYN_INST ];
|
|
3679
|
+
var ajaxData = _getAjaxData(xhr, _ajaxDataId);
|
|
3680
|
+
if (!_isDisabledRequest(xhr, url) && _isMonitoredXhrInstance(xhr, ajaxData, true)) {
|
|
3623
3681
|
if (!ajaxData || !ajaxData.xhrMonitoringState[_DYN_OPEN_DONE ]) {
|
|
3624
|
-
_openHandler(xhr, method, url, async);
|
|
3682
|
+
ajaxData = _openHandler(xhr, method, url, async);
|
|
3625
3683
|
}
|
|
3626
|
-
_attachToOnReadyStateChange(xhr);
|
|
3684
|
+
_attachToOnReadyStateChange(xhr, ajaxData);
|
|
3627
3685
|
}
|
|
3628
3686
|
}
|
|
3629
3687
|
},
|
|
@@ -3631,11 +3689,11 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
3631
3689
|
});
|
|
3632
3690
|
_hookProto(XMLHttpRequest, "send", {
|
|
3633
3691
|
ns: _evtNamespace,
|
|
3634
|
-
req: function (
|
|
3692
|
+
req: function (callDetails, context) {
|
|
3635
3693
|
if (!_disableAjaxTracking) {
|
|
3636
|
-
var xhr =
|
|
3637
|
-
var ajaxData = xhr
|
|
3638
|
-
if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState[_DYN_SEND_DONE ]) {
|
|
3694
|
+
var xhr = callDetails[_DYN_INST ];
|
|
3695
|
+
var ajaxData = _getAjaxData(xhr, _ajaxDataId);
|
|
3696
|
+
if (_isMonitoredXhrInstance(xhr, ajaxData) && !ajaxData.xhrMonitoringState[_DYN_SEND_DONE ]) {
|
|
3639
3697
|
_createMarkId("xhr", ajaxData);
|
|
3640
3698
|
ajaxData[_DYN_REQUEST_SENT_TIME ] = dateTimeUtilsNow();
|
|
3641
3699
|
_self[_DYN_INCLUDE_CORRELATION_2 ](ajaxData, undefined, undefined, xhr);
|
|
@@ -3647,11 +3705,11 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
3647
3705
|
});
|
|
3648
3706
|
_hookProto(XMLHttpRequest, "abort", {
|
|
3649
3707
|
ns: _evtNamespace,
|
|
3650
|
-
req: function (
|
|
3708
|
+
req: function (callDetails) {
|
|
3651
3709
|
if (!_disableAjaxTracking) {
|
|
3652
|
-
var xhr =
|
|
3653
|
-
var ajaxData = xhr
|
|
3654
|
-
if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState[_DYN_ABORT_DONE ]) {
|
|
3710
|
+
var xhr = callDetails[_DYN_INST ];
|
|
3711
|
+
var ajaxData = _getAjaxData(xhr, _ajaxDataId);
|
|
3712
|
+
if (_isMonitoredXhrInstance(xhr, ajaxData) && !ajaxData.xhrMonitoringState[_DYN_ABORT_DONE ]) {
|
|
3655
3713
|
ajaxData[_DYN_ABORTED ] = 1;
|
|
3656
3714
|
ajaxData.xhrMonitoringState[_DYN_ABORT_DONE ] = true;
|
|
3657
3715
|
}
|
|
@@ -3661,11 +3719,17 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
3661
3719
|
});
|
|
3662
3720
|
_hookProto(XMLHttpRequest, "setRequestHeader", {
|
|
3663
3721
|
ns: _evtNamespace,
|
|
3664
|
-
req: function (
|
|
3665
|
-
if (!_disableAjaxTracking
|
|
3666
|
-
var xhr =
|
|
3667
|
-
|
|
3668
|
-
|
|
3722
|
+
req: function (callDetails, header, value) {
|
|
3723
|
+
if (!_disableAjaxTracking) {
|
|
3724
|
+
var xhr = callDetails[_DYN_INST ];
|
|
3725
|
+
var ajaxData = _getAjaxData(xhr, _ajaxDataId);
|
|
3726
|
+
if (ajaxData && _isMonitoredXhrInstance(xhr, ajaxData)) {
|
|
3727
|
+
_addSharedXhrHeaders(xhr, header, value);
|
|
3728
|
+
if (_enableRequestHeaderTracking && _canIncludeHeaders(header)) {
|
|
3729
|
+
if (ajaxData) {
|
|
3730
|
+
ajaxData[_DYN_REQUEST_HEADERS ][header] = value;
|
|
3731
|
+
}
|
|
3732
|
+
}
|
|
3669
3733
|
}
|
|
3670
3734
|
}
|
|
3671
3735
|
},
|
|
@@ -3719,11 +3783,11 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
3719
3783
|
}
|
|
3720
3784
|
return isDisabled;
|
|
3721
3785
|
}
|
|
3722
|
-
function _isMonitoredXhrInstance(xhr, excludeAjaxDataValidation) {
|
|
3786
|
+
function _isMonitoredXhrInstance(xhr, ajaxData, excludeAjaxDataValidation) {
|
|
3723
3787
|
var ajaxValidation = true;
|
|
3724
3788
|
var initialized = _xhrInitialized;
|
|
3725
3789
|
if (!isNullOrUndefined(xhr)) {
|
|
3726
|
-
ajaxValidation = excludeAjaxDataValidation === true || !isNullOrUndefined(
|
|
3790
|
+
ajaxValidation = excludeAjaxDataValidation === true || !isNullOrUndefined(ajaxData);
|
|
3727
3791
|
}
|
|
3728
3792
|
return initialized
|
|
3729
3793
|
&& ajaxValidation;
|
|
@@ -3743,7 +3807,9 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
3743
3807
|
var distributedTraceCtx = _getDistributedTraceCtx();
|
|
3744
3808
|
var traceID = (distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_ID ]()) || generateW3CId();
|
|
3745
3809
|
var spanID = generateW3CId().substr(0, 16);
|
|
3746
|
-
var
|
|
3810
|
+
var xhrRequestData = xhr[AJAX_DATA_CONTAINER] = (xhr[AJAX_DATA_CONTAINER] || { xh: [], i: {} });
|
|
3811
|
+
var ajaxDataCntr = xhrRequestData.i = (xhrRequestData.i || {});
|
|
3812
|
+
var ajaxData = ajaxDataCntr[_ajaxDataId] = (ajaxDataCntr[_ajaxDataId] || new ajaxRecord(traceID, spanID, _self[strDiagLog](), (_a = _self.core) === null || _a === void 0 ? void 0 : _a.getTraceCtx()));
|
|
3747
3813
|
ajaxData[_DYN_TRACE_FLAGS ] = distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_FLAGS ]();
|
|
3748
3814
|
ajaxData[_DYN_METHOD ] = method;
|
|
3749
3815
|
ajaxData[_DYN_REQUEST_URL ] = url;
|
|
@@ -3751,12 +3817,12 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
3751
3817
|
ajaxData[_DYN_REQUEST_HEADERS ] = {};
|
|
3752
3818
|
ajaxData.async = async;
|
|
3753
3819
|
ajaxData[_DYN_ERROR_STATUS_TEXT ] = _enableAjaxErrorStatusText;
|
|
3754
|
-
|
|
3820
|
+
return ajaxData;
|
|
3755
3821
|
}
|
|
3756
|
-
function _attachToOnReadyStateChange(xhr) {
|
|
3757
|
-
|
|
3822
|
+
function _attachToOnReadyStateChange(xhr, ajaxData) {
|
|
3823
|
+
ajaxData.xhrMonitoringState[_DYN_STATE_CHANGE_ATTACHE14 ] = eventOn(xhr, "readystatechange", function () {
|
|
3758
3824
|
try {
|
|
3759
|
-
if (xhr && xhr.readyState === 4 && _isMonitoredXhrInstance(xhr)) {
|
|
3825
|
+
if (xhr && xhr.readyState === 4 && _isMonitoredXhrInstance(xhr, ajaxData)) {
|
|
3760
3826
|
_onAjaxComplete(xhr);
|
|
3761
3827
|
}
|
|
3762
3828
|
}
|
|
@@ -3764,7 +3830,7 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
3764
3830
|
var exceptionText = dumpObj(e);
|
|
3765
3831
|
if (!exceptionText || _indexOf(exceptionText[_DYN_TO_LOWER_CASE ](), "c00c023f") === -1) {
|
|
3766
3832
|
_throwInternalCritical(_self, 16 , ERROR_HEADER + " 'readystatechange' event handler" + ERROR_POSTFIX, {
|
|
3767
|
-
ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(xhr),
|
|
3833
|
+
ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(xhr, _ajaxDataId),
|
|
3768
3834
|
exception: exceptionText
|
|
3769
3835
|
});
|
|
3770
3836
|
}
|
|
@@ -3783,12 +3849,12 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
3783
3849
|
return null;
|
|
3784
3850
|
}
|
|
3785
3851
|
function _onAjaxComplete(xhr) {
|
|
3786
|
-
var ajaxData = xhr
|
|
3852
|
+
var ajaxData = _getAjaxData(xhr, _ajaxDataId);
|
|
3787
3853
|
ajaxData[_DYN_RESPONSE_FINISHED_TI15 ] = dateTimeUtilsNow();
|
|
3788
3854
|
ajaxData[_DYN_STATUS ] = xhr[_DYN_STATUS ];
|
|
3789
3855
|
function _reportXhrError(e, failedProps) {
|
|
3790
3856
|
var errorProps = failedProps || {};
|
|
3791
|
-
errorProps["ajaxDiagnosticsMessage"] = _getFailedAjaxDiagnosticsMessage(xhr);
|
|
3857
|
+
errorProps["ajaxDiagnosticsMessage"] = _getFailedAjaxDiagnosticsMessage(xhr, _ajaxDataId);
|
|
3792
3858
|
if (e) {
|
|
3793
3859
|
errorProps["exception"] = dumpObj(e);
|
|
3794
3860
|
}
|
|
@@ -3848,7 +3914,11 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
3848
3914
|
}
|
|
3849
3915
|
finally {
|
|
3850
3916
|
try {
|
|
3851
|
-
xhr[
|
|
3917
|
+
var xhrRequestData = (xhr[AJAX_DATA_CONTAINER] || { i: {} });
|
|
3918
|
+
var ajaxDataCntr = (xhrRequestData.i || {});
|
|
3919
|
+
if (ajaxDataCntr[_ajaxDataId]) {
|
|
3920
|
+
ajaxDataCntr[_ajaxDataId] = null;
|
|
3921
|
+
}
|
|
3852
3922
|
}
|
|
3853
3923
|
catch (e) {
|
|
3854
3924
|
}
|
|
@@ -3870,7 +3940,7 @@ var AjaxMonitor = /** @class */ (function (_super) {
|
|
|
3870
3940
|
}
|
|
3871
3941
|
catch (e) {
|
|
3872
3942
|
_throwInternalWarning(_self, 18 , CORRELATION_HEADER_ERROR, {
|
|
3873
|
-
ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(xhr),
|
|
3943
|
+
ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(xhr, _ajaxDataId),
|
|
3874
3944
|
exception: dumpObj(e)
|
|
3875
3945
|
});
|
|
3876
3946
|
}
|