Skip to content

Commit a0234c9

Browse files
authoredAug 1, 2024··
fix(HttpResponse): skip setting "Content-Length" if it is already set (#2228)
1 parent 53a113c commit a0234c9

File tree

2 files changed

+5
-7
lines changed

2 files changed

+5
-7
lines changed
 

‎src/core/HttpResponse.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ export class HttpResponse extends Response {
137137
static arrayBuffer(body?: ArrayBuffer, init?: HttpResponseInit): Response {
138138
const responseInit = normalizeResponseInit(init)
139139

140-
if (body) {
140+
if (body && !responseInit.headers.has('Content-Length')) {
141141
responseInit.headers.set('Content-Length', body.byteLength.toString())
142142
}
143143

‎test/node/rest-api/response/body-binary.node.test.ts

+4-6
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,11 @@ afterAll(() => server.close())
2828

2929
test('returns given buffer in the mocked response', async () => {
3030
const response = await fetch('http://test.mswjs.io/image')
31-
const { status, headers } = response
3231
const actualImageBuffer = await response.arrayBuffer()
3332
const expectedImageBuffer = getImageBuffer()
3433

35-
expect(status).toBe(200)
36-
expect(headers.get('content-length')).toBe(
34+
expect(response.status).toBe(200)
35+
expect(response.headers.get('content-length')).toBe(
3736
actualImageBuffer.byteLength.toString(),
3837
)
3938
expect(
@@ -43,13 +42,12 @@ test('returns given buffer in the mocked response', async () => {
4342

4443
test('returns given blob in the mocked response', async () => {
4544
const response = await fetch('http://test.mswjs.io/image')
46-
const { status, headers } = response
4745
const blob = await response.blob()
4846
const expectedImageBuffer = getImageBuffer()
4947

50-
expect(status).toBe(200)
48+
expect(response.status).toBe(200)
5149
expect(blob.type).toBe('image/jpeg')
52-
expect(blob.size).toBe(Number(headers.get('content-length')))
50+
expect(blob.size).toBe(Number(response.headers.get('content-length')))
5351
expect(
5452
Buffer.compare(Buffer.from(await blob.arrayBuffer()), expectedImageBuffer),
5553
).toBe(0)

0 commit comments

Comments
 (0)
Please sign in to comment.