From 36b6c0bd9b194eae842039779cb8712bbee61ae5 Mon Sep 17 00:00:00 2001 From: Alessandro Date: Wed, 30 Jul 2025 16:57:05 +0200 Subject: [PATCH 1/3] Fix issue #2634 moving the conditional check for filtering --- .../Tests/Unit/src/ajax.tests.ts | 49 ++++++ .../src/ajax.ts | 140 +++++++++--------- 2 files changed, 118 insertions(+), 71 deletions(-) diff --git a/extensions/applicationinsights-dependencies-js/Tests/Unit/src/ajax.tests.ts b/extensions/applicationinsights-dependencies-js/Tests/Unit/src/ajax.tests.ts index ea6fbacd4..87827972a 100644 --- a/extensions/applicationinsights-dependencies-js/Tests/Unit/src/ajax.tests.ts +++ b/extensions/applicationinsights-dependencies-js/Tests/Unit/src/ajax.tests.ts @@ -1909,6 +1909,55 @@ export class AjaxTests extends AITestClass { } }); + this.testCase({ + name: "Fetch: fetch keeps custom headers when correlation headers are discarded by dependencyListeners", + test: () => { + hookFetch((resolve) => { + AITestClass.orgSetTimeout(function() { + resolve(); + }, 0); + }); + + try { + this._ajax = new AjaxMonitor(); + this._ajax.addDependencyListener((details: IDependencyListenerDetails) => { + return false; + }); + let appInsightsCore = new AppInsightsCore(); + let coreConfig = { + instrumentationKey: "", + disableFetchTracking: false, + disableAjaxTracking: true + }; + appInsightsCore.initialize(coreConfig, [this._ajax, new TestChannelPlugin()]); + let fetchSpy = this.sandbox.spy(window, "fetch"); + + // Setup + let headers = new Headers(); + headers.append('My-Header', 'Header field'); + let init = { + method: 'get', + headers: headers + }; + const url = 'https://httpbin.org/status/200'; + + let headerSpy = this.sandbox.spy(this._ajax, "includeCorrelationHeaders"); + + // Act + Assert.ok(fetchSpy.notCalled); + fetch(url, init); + + // Assert + Assert.ok(fetchSpy.calledOnce); + Assert.ok(headerSpy.calledOnce); + Assert.deepEqual(init, headerSpy.returnValue || headerSpy.returnValues[0]); + } catch (e) { + console && console.warn("Exception: " + e); + Assert.ok(false, e); + } + } + }); + this.testCaseAsync({ name: "Fetch: should create and pass a traceparent header if ai and w3c is enabled with custom headers", stepDelay: 10, diff --git a/extensions/applicationinsights-dependencies-js/src/ajax.ts b/extensions/applicationinsights-dependencies-js/src/ajax.ts index 1fa9628e2..0aeb4bd32 100644 --- a/extensions/applicationinsights-dependencies-js/src/ajax.ts +++ b/extensions/applicationinsights-dependencies-js/src/ajax.ts @@ -425,96 +425,94 @@ export class AjaxMonitor extends BaseTelemetryPlugin implements IAjaxMonitorPlug _self.includeCorrelationHeaders = (ajaxData: ajaxRecord, input?: Request | string, init?: RequestInit, xhr?: XMLHttpRequestInstrumented): any => { // Test Hook to allow the overriding of the location host let currentWindowHost = _self["_currentWindowHost"] || _currentWindowHost; - - if (_processDependencyListeners(_dependencyListeners, _self.core, ajaxData, xhr, input, init)) { - if (input || input === "") { // Fetch - if (correlationIdCanIncludeCorrelationHeader(_extensionConfig, ajaxData.getAbsoluteUrl(), currentWindowHost)) { - if (!init) { - init = {}; + let processDependencyListenersResult = _processDependencyListeners(_dependencyListeners, _self.core, ajaxData, xhr, input, init); + if (input || input === "") { // Fetch + if (processDependencyListenersResult && correlationIdCanIncludeCorrelationHeader(_extensionConfig, ajaxData.getAbsoluteUrl(), currentWindowHost)) { + if (!init) { + init = {}; + } + + // init headers override original request headers + // so, if they exist use only them, otherwise use request's because they should have been applied in the first place + // not using original request headers will result in them being lost + let headers = new Headers(init.headers || (input instanceof Request ? (input.headers || {}) : {})); + if (_isUsingAIHeaders) { + const id = "|" + ajaxData.traceID + "." + ajaxData.spanID; + headers.set(RequestHeaders[eRequestHeaders.requestIdHeader], id); + if (_enableRequestHeaderTracking) { + ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.requestIdHeader]] = id; + } + } + const appId: string = _appId ||(_context && _context.appId()); + if (appId) { + headers.set(RequestHeaders[eRequestHeaders.requestContextHeader], RequestHeaders[eRequestHeaders.requestContextAppIdFormat] + appId); + if (_enableRequestHeaderTracking) { + ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.requestContextHeader]] = RequestHeaders[eRequestHeaders.requestContextAppIdFormat] + appId; + } + } + if (_isUsingW3CHeaders) { + let traceFlags = ajaxData.traceFlags; + if (isNullOrUndefined(traceFlags)) { + traceFlags = 0x01; + } + + const traceParent = formatTraceParent(createTraceParent(ajaxData.traceID, ajaxData.spanID, traceFlags)); + headers.set(RequestHeaders[eRequestHeaders.traceParentHeader], traceParent); + if (_enableRequestHeaderTracking) { + ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.traceParentHeader]] = traceParent; } + } + + init.headers = headers; + } - // init headers override original request headers - // so, if they exist use only them, otherwise use request's because they should have been applied in the first place - // not using original request headers will result in them being lost - let headers = new Headers(init.headers || (input instanceof Request ? (input.headers || {}) : {})); - if (_isUsingAIHeaders) { + return init; + } else if (xhr) { // XHR + if (processDependencyListenersResult && correlationIdCanIncludeCorrelationHeader(_extensionConfig, ajaxData.getAbsoluteUrl(), currentWindowHost)) { + if (_isUsingAIHeaders) { + if (!_isHeaderSet(xhr, RequestHeaders[eRequestHeaders.requestIdHeader])) { const id = "|" + ajaxData.traceID + "." + ajaxData.spanID; - headers.set(RequestHeaders[eRequestHeaders.requestIdHeader], id); + xhr.setRequestHeader(RequestHeaders[eRequestHeaders.requestIdHeader], id); if (_enableRequestHeaderTracking) { ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.requestIdHeader]] = id; } + } else { + _throwInternalWarning(_self, _eInternalMessageId.FailedMonitorAjaxSetRequestHeader, + "Unable to set [" + RequestHeaders[eRequestHeaders.requestIdHeader] + "] as it has already been set by another instance"); } - const appId: string = _appId ||(_context && _context.appId()); - if (appId) { - headers.set(RequestHeaders[eRequestHeaders.requestContextHeader], RequestHeaders[eRequestHeaders.requestContextAppIdFormat] + appId); + } + const appId = _appId || (_context && _context.appId()); + if (appId) { + if (!_isHeaderSet(xhr, RequestHeaders[eRequestHeaders.requestContextHeader])) { + xhr.setRequestHeader(RequestHeaders[eRequestHeaders.requestContextHeader], RequestHeaders[eRequestHeaders.requestContextAppIdFormat] + appId); if (_enableRequestHeaderTracking) { ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.requestContextHeader]] = RequestHeaders[eRequestHeaders.requestContextAppIdFormat] + appId; } + } else { + _throwInternalWarning(_self, _eInternalMessageId.FailedMonitorAjaxSetRequestHeader, + "Unable to set [" + RequestHeaders[eRequestHeaders.requestContextHeader] + "] as it has already been set by another instance"); + } + } + if (_isUsingW3CHeaders) { + let traceFlags = ajaxData.traceFlags; + if (isNullOrUndefined(traceFlags)) { + traceFlags = 0x01; } - if (_isUsingW3CHeaders) { - let traceFlags = ajaxData.traceFlags; - if (isNullOrUndefined(traceFlags)) { - traceFlags = 0x01; - } + if (!_isHeaderSet(xhr, RequestHeaders[eRequestHeaders.traceParentHeader])) { const traceParent = formatTraceParent(createTraceParent(ajaxData.traceID, ajaxData.spanID, traceFlags)); - headers.set(RequestHeaders[eRequestHeaders.traceParentHeader], traceParent); + xhr.setRequestHeader(RequestHeaders[eRequestHeaders.traceParentHeader], traceParent); if (_enableRequestHeaderTracking) { ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.traceParentHeader]] = traceParent; } - } - - init.headers = headers; - } - - return init; - } else if (xhr) { // XHR - if (correlationIdCanIncludeCorrelationHeader(_extensionConfig, ajaxData.getAbsoluteUrl(), currentWindowHost)) { - if (_isUsingAIHeaders) { - if (!_isHeaderSet(xhr, RequestHeaders[eRequestHeaders.requestIdHeader])) { - const id = "|" + ajaxData.traceID + "." + ajaxData.spanID; - xhr.setRequestHeader(RequestHeaders[eRequestHeaders.requestIdHeader], id); - if (_enableRequestHeaderTracking) { - ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.requestIdHeader]] = id; - } - } else { - _throwInternalWarning(_self, _eInternalMessageId.FailedMonitorAjaxSetRequestHeader, - "Unable to set [" + RequestHeaders[eRequestHeaders.requestIdHeader] + "] as it has already been set by another instance"); - } - } - const appId = _appId || (_context && _context.appId()); - if (appId) { - if (!_isHeaderSet(xhr, RequestHeaders[eRequestHeaders.requestContextHeader])) { - xhr.setRequestHeader(RequestHeaders[eRequestHeaders.requestContextHeader], RequestHeaders[eRequestHeaders.requestContextAppIdFormat] + appId); - if (_enableRequestHeaderTracking) { - ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.requestContextHeader]] = RequestHeaders[eRequestHeaders.requestContextAppIdFormat] + appId; - } - } else { - _throwInternalWarning(_self, _eInternalMessageId.FailedMonitorAjaxSetRequestHeader, - "Unable to set [" + RequestHeaders[eRequestHeaders.requestContextHeader] + "] as it has already been set by another instance"); - } - } - if (_isUsingW3CHeaders) { - let traceFlags = ajaxData.traceFlags; - if (isNullOrUndefined(traceFlags)) { - traceFlags = 0x01; - } - - if (!_isHeaderSet(xhr, RequestHeaders[eRequestHeaders.traceParentHeader])) { - const traceParent = formatTraceParent(createTraceParent(ajaxData.traceID, ajaxData.spanID, traceFlags)); - xhr.setRequestHeader(RequestHeaders[eRequestHeaders.traceParentHeader], traceParent); - if (_enableRequestHeaderTracking) { - ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.traceParentHeader]] = traceParent; - } - } else { - _throwInternalWarning(_self, _eInternalMessageId.FailedMonitorAjaxSetRequestHeader, - "Unable to set [" + RequestHeaders[eRequestHeaders.traceParentHeader] + "] as it has already been set by another instance"); - } + } else { + _throwInternalWarning(_self, _eInternalMessageId.FailedMonitorAjaxSetRequestHeader, + "Unable to set [" + RequestHeaders[eRequestHeaders.traceParentHeader] + "] as it has already been set by another instance"); } } - - return xhr; } + + return xhr; } return undefined; From 27e6607e60b6e2e12046e6f9fea4df08de124eb7 Mon Sep 17 00:00:00 2001 From: Alessandro Date: Thu, 31 Jul 2025 08:02:24 +0200 Subject: [PATCH 2/3] refactoring --- .../Tests/Unit/src/ajax.tests.ts | 62 ++++---- .../src/ajax.ts | 142 +++++++++--------- 2 files changed, 101 insertions(+), 103 deletions(-) diff --git a/extensions/applicationinsights-dependencies-js/Tests/Unit/src/ajax.tests.ts b/extensions/applicationinsights-dependencies-js/Tests/Unit/src/ajax.tests.ts index 87827972a..78a5bb969 100644 --- a/extensions/applicationinsights-dependencies-js/Tests/Unit/src/ajax.tests.ts +++ b/extensions/applicationinsights-dependencies-js/Tests/Unit/src/ajax.tests.ts @@ -1918,43 +1918,39 @@ export class AjaxTests extends AITestClass { }, 0); }); - try { - this._ajax = new AjaxMonitor(); - this._ajax.addDependencyListener((details: IDependencyListenerDetails) => { - return false; - }); - let appInsightsCore = new AppInsightsCore(); - let coreConfig = { - instrumentationKey: "", - disableFetchTracking: false, - disableAjaxTracking: true - }; - appInsightsCore.initialize(coreConfig, [this._ajax, new TestChannelPlugin()]); - let fetchSpy = this.sandbox.spy(window, "fetch"); + + this._ajax = new AjaxMonitor(); + this._ajax.addDependencyListener((details: IDependencyListenerDetails) => { + return false; + }); + let appInsightsCore = new AppInsightsCore(); + let coreConfig = { + instrumentationKey: "", + disableFetchTracking: false, + disableAjaxTracking: true + }; + appInsightsCore.initialize(coreConfig, [this._ajax, new TestChannelPlugin()]); + let fetchSpy = this.sandbox.spy(window, "fetch"); - // Setup - let headers = new Headers(); - headers.append('My-Header', 'Header field'); - let init = { - method: 'get', - headers: headers - }; - const url = 'https://httpbin.org/status/200'; + // Setup + let headers = new Headers(); + headers.append('My-Header', 'Header field'); + let init = { + method: 'get', + headers: headers + }; + const url = 'https://httpbin.org/status/200'; - let headerSpy = this.sandbox.spy(this._ajax, "includeCorrelationHeaders"); + let headerSpy = this.sandbox.spy(this._ajax, "includeCorrelationHeaders"); - // Act - Assert.ok(fetchSpy.notCalled); - fetch(url, init); + // Act + Assert.ok(fetchSpy.notCalled); + fetch(url, init); - // Assert - Assert.ok(fetchSpy.calledOnce); - Assert.ok(headerSpy.calledOnce); - Assert.deepEqual(init, headerSpy.returnValue || headerSpy.returnValues[0]); - } catch (e) { - console && console.warn("Exception: " + e); - Assert.ok(false, e); - } + // Assert + Assert.ok(fetchSpy.calledOnce); + Assert.ok(headerSpy.calledOnce); + Assert.deepEqual(init, headerSpy.returnValue || headerSpy.returnValues[0]); } }); diff --git a/extensions/applicationinsights-dependencies-js/src/ajax.ts b/extensions/applicationinsights-dependencies-js/src/ajax.ts index 0aeb4bd32..70d501b5f 100644 --- a/extensions/applicationinsights-dependencies-js/src/ajax.ts +++ b/extensions/applicationinsights-dependencies-js/src/ajax.ts @@ -425,97 +425,99 @@ export class AjaxMonitor extends BaseTelemetryPlugin implements IAjaxMonitorPlug _self.includeCorrelationHeaders = (ajaxData: ajaxRecord, input?: Request | string, init?: RequestInit, xhr?: XMLHttpRequestInstrumented): any => { // Test Hook to allow the overriding of the location host let currentWindowHost = _self["_currentWindowHost"] || _currentWindowHost; - let processDependencyListenersResult = _processDependencyListeners(_dependencyListeners, _self.core, ajaxData, xhr, input, init); - if (input || input === "") { // Fetch - if (processDependencyListenersResult && correlationIdCanIncludeCorrelationHeader(_extensionConfig, ajaxData.getAbsoluteUrl(), currentWindowHost)) { - if (!init) { - init = {}; - } - - // init headers override original request headers - // so, if they exist use only them, otherwise use request's because they should have been applied in the first place - // not using original request headers will result in them being lost - let headers = new Headers(init.headers || (input instanceof Request ? (input.headers || {}) : {})); - if (_isUsingAIHeaders) { - const id = "|" + ajaxData.traceID + "." + ajaxData.spanID; - headers.set(RequestHeaders[eRequestHeaders.requestIdHeader], id); - if (_enableRequestHeaderTracking) { - ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.requestIdHeader]] = id; - } - } - const appId: string = _appId ||(_context && _context.appId()); - if (appId) { - headers.set(RequestHeaders[eRequestHeaders.requestContextHeader], RequestHeaders[eRequestHeaders.requestContextAppIdFormat] + appId); - if (_enableRequestHeaderTracking) { - ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.requestContextHeader]] = RequestHeaders[eRequestHeaders.requestContextAppIdFormat] + appId; - } - } - if (_isUsingW3CHeaders) { - let traceFlags = ajaxData.traceFlags; - if (isNullOrUndefined(traceFlags)) { - traceFlags = 0x01; - } - - const traceParent = formatTraceParent(createTraceParent(ajaxData.traceID, ajaxData.spanID, traceFlags)); - headers.set(RequestHeaders[eRequestHeaders.traceParentHeader], traceParent); - if (_enableRequestHeaderTracking) { - ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.traceParentHeader]] = traceParent; + + if (_processDependencyListeners(_dependencyListeners, _self.core, ajaxData, xhr, input, init)) { + if (input || input === "") { // Fetch + if (correlationIdCanIncludeCorrelationHeader(_extensionConfig, ajaxData.getAbsoluteUrl(), currentWindowHost)) { + if (!init) { + init = {}; } - } - - init.headers = headers; - } - return init; - } else if (xhr) { // XHR - if (processDependencyListenersResult && correlationIdCanIncludeCorrelationHeader(_extensionConfig, ajaxData.getAbsoluteUrl(), currentWindowHost)) { - if (_isUsingAIHeaders) { - if (!_isHeaderSet(xhr, RequestHeaders[eRequestHeaders.requestIdHeader])) { + // init headers override original request headers + // so, if they exist use only them, otherwise use request's because they should have been applied in the first place + // not using original request headers will result in them being lost + let headers = new Headers(init.headers || (input instanceof Request ? (input.headers || {}) : {})); + if (_isUsingAIHeaders) { const id = "|" + ajaxData.traceID + "." + ajaxData.spanID; - xhr.setRequestHeader(RequestHeaders[eRequestHeaders.requestIdHeader], id); + headers.set(RequestHeaders[eRequestHeaders.requestIdHeader], id); if (_enableRequestHeaderTracking) { ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.requestIdHeader]] = id; } - } else { - _throwInternalWarning(_self, _eInternalMessageId.FailedMonitorAjaxSetRequestHeader, - "Unable to set [" + RequestHeaders[eRequestHeaders.requestIdHeader] + "] as it has already been set by another instance"); } - } - const appId = _appId || (_context && _context.appId()); - if (appId) { - if (!_isHeaderSet(xhr, RequestHeaders[eRequestHeaders.requestContextHeader])) { - xhr.setRequestHeader(RequestHeaders[eRequestHeaders.requestContextHeader], RequestHeaders[eRequestHeaders.requestContextAppIdFormat] + appId); + const appId: string = _appId ||(_context && _context.appId()); + if (appId) { + headers.set(RequestHeaders[eRequestHeaders.requestContextHeader], RequestHeaders[eRequestHeaders.requestContextAppIdFormat] + appId); if (_enableRequestHeaderTracking) { ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.requestContextHeader]] = RequestHeaders[eRequestHeaders.requestContextAppIdFormat] + appId; } - } else { - _throwInternalWarning(_self, _eInternalMessageId.FailedMonitorAjaxSetRequestHeader, - "Unable to set [" + RequestHeaders[eRequestHeaders.requestContextHeader] + "] as it has already been set by another instance"); - } - } - if (_isUsingW3CHeaders) { - let traceFlags = ajaxData.traceFlags; - if (isNullOrUndefined(traceFlags)) { - traceFlags = 0x01; } + if (_isUsingW3CHeaders) { + let traceFlags = ajaxData.traceFlags; + if (isNullOrUndefined(traceFlags)) { + traceFlags = 0x01; + } - if (!_isHeaderSet(xhr, RequestHeaders[eRequestHeaders.traceParentHeader])) { const traceParent = formatTraceParent(createTraceParent(ajaxData.traceID, ajaxData.spanID, traceFlags)); - xhr.setRequestHeader(RequestHeaders[eRequestHeaders.traceParentHeader], traceParent); + headers.set(RequestHeaders[eRequestHeaders.traceParentHeader], traceParent); if (_enableRequestHeaderTracking) { ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.traceParentHeader]] = traceParent; } - } else { - _throwInternalWarning(_self, _eInternalMessageId.FailedMonitorAjaxSetRequestHeader, - "Unable to set [" + RequestHeaders[eRequestHeaders.traceParentHeader] + "] as it has already been set by another instance"); + } + + init.headers = headers; + } + + return init; + } else if (xhr) { // XHR + if (correlationIdCanIncludeCorrelationHeader(_extensionConfig, ajaxData.getAbsoluteUrl(), currentWindowHost)) { + if (_isUsingAIHeaders) { + if (!_isHeaderSet(xhr, RequestHeaders[eRequestHeaders.requestIdHeader])) { + const id = "|" + ajaxData.traceID + "." + ajaxData.spanID; + xhr.setRequestHeader(RequestHeaders[eRequestHeaders.requestIdHeader], id); + if (_enableRequestHeaderTracking) { + ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.requestIdHeader]] = id; + } + } else { + _throwInternalWarning(_self, _eInternalMessageId.FailedMonitorAjaxSetRequestHeader, + "Unable to set [" + RequestHeaders[eRequestHeaders.requestIdHeader] + "] as it has already been set by another instance"); + } + } + const appId = _appId || (_context && _context.appId()); + if (appId) { + if (!_isHeaderSet(xhr, RequestHeaders[eRequestHeaders.requestContextHeader])) { + xhr.setRequestHeader(RequestHeaders[eRequestHeaders.requestContextHeader], RequestHeaders[eRequestHeaders.requestContextAppIdFormat] + appId); + if (_enableRequestHeaderTracking) { + ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.requestContextHeader]] = RequestHeaders[eRequestHeaders.requestContextAppIdFormat] + appId; + } + } else { + _throwInternalWarning(_self, _eInternalMessageId.FailedMonitorAjaxSetRequestHeader, + "Unable to set [" + RequestHeaders[eRequestHeaders.requestContextHeader] + "] as it has already been set by another instance"); + } + } + if (_isUsingW3CHeaders) { + let traceFlags = ajaxData.traceFlags; + if (isNullOrUndefined(traceFlags)) { + traceFlags = 0x01; + } + + if (!_isHeaderSet(xhr, RequestHeaders[eRequestHeaders.traceParentHeader])) { + const traceParent = formatTraceParent(createTraceParent(ajaxData.traceID, ajaxData.spanID, traceFlags)); + xhr.setRequestHeader(RequestHeaders[eRequestHeaders.traceParentHeader], traceParent); + if (_enableRequestHeaderTracking) { + ajaxData.requestHeaders[RequestHeaders[eRequestHeaders.traceParentHeader]] = traceParent; + } + } else { + _throwInternalWarning(_self, _eInternalMessageId.FailedMonitorAjaxSetRequestHeader, + "Unable to set [" + RequestHeaders[eRequestHeaders.traceParentHeader] + "] as it has already been set by another instance"); + } } } - } - return xhr; + return xhr; + } } - return undefined; + return xhr || init; } _self.trackDependencyDataInternal = (dependency: IDependencyTelemetry, properties?: { [key: string]: any }, systemProperties?: { [key: string]: any }) => { From ce6ec1eb6657f7d678bab22479f26aed6cb23560 Mon Sep 17 00:00:00 2001 From: Nev <54870357+MSNev@users.noreply.github.com> Date: Thu, 31 Jul 2025 09:58:38 -0700 Subject: [PATCH 3/3] Remove additional unnecessary returns --- extensions/applicationinsights-dependencies-js/src/ajax.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/extensions/applicationinsights-dependencies-js/src/ajax.ts b/extensions/applicationinsights-dependencies-js/src/ajax.ts index 70d501b5f..0f0e2b896 100644 --- a/extensions/applicationinsights-dependencies-js/src/ajax.ts +++ b/extensions/applicationinsights-dependencies-js/src/ajax.ts @@ -466,8 +466,6 @@ export class AjaxMonitor extends BaseTelemetryPlugin implements IAjaxMonitorPlug init.headers = headers; } - - return init; } else if (xhr) { // XHR if (correlationIdCanIncludeCorrelationHeader(_extensionConfig, ajaxData.getAbsoluteUrl(), currentWindowHost)) { if (_isUsingAIHeaders) { @@ -512,8 +510,6 @@ export class AjaxMonitor extends BaseTelemetryPlugin implements IAjaxMonitorPlug } } } - - return xhr; } }