Skip to content

Commit

Permalink
fix: Console error on some cross-origin requests without NR CAT header (
Browse files Browse the repository at this point in the history
  • Loading branch information
cwli24 authored Mar 11, 2025
1 parent 06e7d2b commit 6660c44
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 5 deletions.
5 changes: 3 additions & 2 deletions src/features/ajax/instrument/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ var handlersLen = handlers.length

var origRequest = gosNREUMOriginals().o.REQ
var origXHR = gosNREUMOriginals().o.XHR
const NR_CAT_HEADER = 'X-NewRelic-App-Data'

export class Instrument extends InstrumentBase {
static featureName = FEATURE_NAME
Expand Down Expand Up @@ -392,8 +393,8 @@ function subscribeToEvents (agentRef, ee, handler, dt) {
var size = responseSizeFromXhr(xhr, ctx.lastSize)
if (size) ctx.metrics.rxSize = size

if (ctx.sameOrigin) {
var header = xhr.getResponseHeader('X-NewRelic-App-Data')
if (ctx.sameOrigin && xhr.getAllResponseHeaders().indexOf(NR_CAT_HEADER) >= 0) {
var header = xhr.getResponseHeader(NR_CAT_HEADER)
if (header) {
handle(SUPPORTABILITY_METRIC, ['Ajax/CrossApplicationTracing/Header/Seen'], undefined, FEATURE_NAMES.metrics, ee)
ctx.params.cat = header.split(', ').pop()
Expand Down
4 changes: 1 addition & 3 deletions tests/components/setup-agent.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,7 @@ export function setupAgent ({ agentOverrides = {}, info = {}, init = {}, loaderC
runtime = getRuntime(agentIdentifier)
if (!runtime.timeKeeper) {
runtime.timeKeeper = new TimeKeeper(agentIdentifier)
runtime.timeKeeper.processRumRequest({
getResponseHeader: jest.fn(() => (new Date()).toUTCString())
}, 450, 600, Date.now())
runtime.timeKeeper.processRumRequest({}, 450, 600, Date.now())
}
fakeAgent.features = {}
if (!runtime.harvester) runtime.harvester = new Harvester(fakeAgent)
Expand Down

0 comments on commit 6660c44

Please sign in to comment.