From c1585b6ae846c2bed402d82e6d2912f76eaf0503 Mon Sep 17 00:00:00 2001 From: KATT Date: Tue, 30 Apr 2024 09:18:42 +0200 Subject: [PATCH] tweak --- .../adapters/node-http/incomingMessageToRequest.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/server/src/adapters/node-http/incomingMessageToRequest.ts b/packages/server/src/adapters/node-http/incomingMessageToRequest.ts index a3105076f9d..18bb6d3abb5 100644 --- a/packages/server/src/adapters/node-http/incomingMessageToRequest.ts +++ b/packages/server/src/adapters/node-http/incomingMessageToRequest.ts @@ -52,7 +52,7 @@ function incomingMessageToBodyStream( return stream; } -const bodyMethods = ['POST', 'PUT', 'PATCH']; +const bodyMethods = new Set(['POST', 'PUT', 'PATCH']); /** * Convert an [`IncomingMessage`](https://nodejs.org/api/http.html#class-httpincomingmessage) to a [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request) */ @@ -79,10 +79,15 @@ export function incomingMessageToRequest( duplex: 'half', }; - if (req.method && bodyMethods.includes(req.method)) { + if (req.method && bodyMethods.has(req.method)) { if (!('body' in req)) { init.body = incomingMessageToBodyStream(req, opts); - } else if (typeof req.body === 'string') { + } else if ( + typeof req.body === 'string' || + req.body instanceof Uint8Array || + req.body instanceof Buffer || + req.body instanceof ReadableStream + ) { init.body = req.body; } else if (req.body !== undefined) { init.body = JSON.stringify(req.body);