Skip to content

Commit 9488d2e

Browse files
committed
fix: 🐛 ensure setRequestHeader monkey patch matches real world usage
1 parent 172bb79 commit 9488d2e

3 files changed

Lines changed: 4 additions & 1 deletion

File tree

packages/request-tracker/lib/xhr-tracker.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ function createXhrTracker (global, options = {}) {
3535
const requestData = trackedRequests.get(this)
3636
if (requestData) {
3737
requestData.headers = requestData.headers || {}
38-
requestData.headers[String(header)] = String(value)
38+
requestData.headers[String(header)] = (requestData.headers[String(header)] || '') + String(value)
3939
}
4040
}
4141
originalSetRequestHeader.apply(this, arguments)

test/browser/features/fixtures/http_errors/src/app.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ function xhrGet () {
99
const xhr = new XMLHttpRequest()
1010
xhr.open('GET', `${REFLECT_ENDPOINT}?status=404&userId=12345`)
1111
xhr.setRequestHeader('X-Token', 'super-secret-token')
12+
xhr.setRequestHeader('X-Test-Value', 'one-two')
13+
xhr.setRequestHeader('X-Test-Value', '-three-four')
1214
xhr.send()
1315
}
1416

test/browser/features/http_errors.feature

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ Feature: HTTP Errors
8686
And the error payload field "events.0.request.url" equals the stored value "expected.request.url"
8787
And the event "request.httpMethod" equals "GET"
8888
And the event "request.headers.X-Token" equals "[REDACTED]"
89+
And the event "request.headers.X-Test-Value" equals "one-two-three-four"
8990
And the event "request.params.status" equals "404"
9091
And the event "request.params.userId" equals "[REDACTED]"
9192
And the event "request.body" is null

0 commit comments

Comments
 (0)