From d4abe03b3269a184f0992054e8f45e1001b78b1d Mon Sep 17 00:00:00 2001 From: Khafra Date: Thu, 12 Oct 2023 20:55:19 -0400 Subject: [PATCH] fix request's arrayBuffer returning uint8 instead of arraybuffer (#2344) --- lib/api/readable.js | 2 +- test/client-request.js | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/api/readable.js b/lib/api/readable.js index 508fbdef928..d106568cd4b 100644 --- a/lib/api/readable.js +++ b/lib/api/readable.js @@ -268,7 +268,7 @@ function consumeEnd (consume) { pos += buf.byteLength } - resolve(dst) + resolve(dst.buffer) } else if (type === 'blob') { if (!Blob) { Blob = require('buffer').Blob diff --git a/test/client-request.js b/test/client-request.js index 703cedf6803..3e6670523b8 100644 --- a/test/client-request.js +++ b/test/client-request.js @@ -413,7 +413,7 @@ test('request blob', { skip: nodeMajor < 16 }, (t) => { }) test('request arrayBuffer', (t) => { - t.plan(1) + t.plan(2) const obj = { asd: true } const server = createServer((req, res) => { @@ -429,7 +429,10 @@ test('request arrayBuffer', (t) => { path: '/', method: 'GET' }) - t.strictSame(Buffer.from(JSON.stringify(obj)), Buffer.from(await body.arrayBuffer())) + const ab = await body.arrayBuffer() + + t.strictSame(Buffer.from(JSON.stringify(obj)), Buffer.from(ab)) + t.ok(ab instanceof ArrayBuffer) }) })