From 66ba74308cbbc1dd57c3cba22734993c93102fbe Mon Sep 17 00:00:00 2001 From: Victor Berchet Date: Sat, 14 Dec 2024 18:08:39 +0100 Subject: [PATCH] fix: Request constructor override Use ReadableStream.from instead of Readable.toWeb The latter triggers a "This ReadableStream is disturbed" error See https://github.com/cloudflare/workerd/issues/3245 --- packages/cloudflare/src/cli/build/bundle-server.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/cloudflare/src/cli/build/bundle-server.ts b/packages/cloudflare/src/cli/build/bundle-server.ts index ade9c16e..b1eeffc4 100644 --- a/packages/cloudflare/src/cli/build/bundle-server.ts +++ b/packages/cloudflare/src/cli/build/bundle-server.ts @@ -109,11 +109,13 @@ fetch = globalThis.fetch; const CustomRequest = class extends globalThis.Request { constructor(input, init) { if (init) { - delete init.cache; - if (init.body?.__node_stream__ === true) { + init = { + ...init, + cache: undefined, // https://github.com/cloudflare/workerd/issues/2746 - init.body = __cf_stream.Readable.toWeb(init.body); - } + // https://github.com/cloudflare/workerd/issues/3245 + body: init.body instanceof __cf_stream.Readable ? ReadableStream.from(init.body) : init.body, + }; } super(input, init); }