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