diff --git a/packages/next/server/next-server.ts b/packages/next/server/next-server.ts index 365299445175..ea6b971d220b 100644 --- a/packages/next/server/next-server.ts +++ b/packages/next/server/next-server.ts @@ -8,7 +8,7 @@ import type { ParsedNextUrl } from '../shared/lib/router/utils/parse-next-url' import type { PrerenderManifest } from '../build' import type { Rewrite } from '../lib/load-custom-routes' import type { BaseNextRequest, BaseNextResponse } from './base-http' -import type { ReadableStream } from 'next/dist/compiled/web-streams-polyfill/ponyfill' +import type { ReadableStream as ReadableStreamPolyfill } from 'next/dist/compiled/web-streams-polyfill/ponyfill' import { TransformStream } from 'next/dist/compiled/web-streams-polyfill/ponyfill' import { execOnce } from '../shared/lib/utils' @@ -1273,7 +1273,7 @@ export default class NextNodeServer extends BaseServer { }, url: url, page: page, - body: currentBody, + body: currentBody as unknown as ReadableStream, }, useCache: !this.nextConfig.experimental.runtime, onWarning: (warning: Error) => { @@ -1352,7 +1352,7 @@ export default class NextNodeServer extends BaseServer { */ function requestToBodyStream( request: IncomingMessage -): ReadableStream { +): ReadableStreamPolyfill { const transform = new TransformStream({ start(controller) { request.on('data', (chunk) => controller.enqueue(chunk)) @@ -1368,8 +1368,8 @@ function requestToBodyStream( * A simple utility to take an original stream and have * an API to duplicate it without closing it or mutate any variables */ -function teeableStream(originalStream: ReadableStream): { - duplicate(): ReadableStream +function teeableStream(originalStream: ReadableStreamPolyfill): { + duplicate(): ReadableStreamPolyfill } { return { duplicate() { diff --git a/packages/next/server/web/adapter.ts b/packages/next/server/web/adapter.ts index e7760db808e4..6252ea738f5c 100644 --- a/packages/next/server/web/adapter.ts +++ b/packages/next/server/web/adapter.ts @@ -16,7 +16,7 @@ export async function adapter(params: { page: params.page, input: params.request.url, init: { - body: params.request.body as unknown as ReadableStream, + body: params.request.body, geo: params.request.geo, headers: fromNodeHeaders(params.request.headers), ip: params.request.ip, diff --git a/packages/next/server/web/types.ts b/packages/next/server/web/types.ts index a8315e74e5dc..029a1024d462 100644 --- a/packages/next/server/web/types.ts +++ b/packages/next/server/web/types.ts @@ -1,5 +1,4 @@ import type { I18NConfig } from '../config-shared' -import type { ReadableStream } from 'next/dist/compiled/web-streams-polyfill/ponyfill' import type { NextRequest } from '../web/spec-extension/request' import type { NextFetchEvent } from '../web/spec-extension/fetch-event' import type { NextResponse } from './spec-extension/response'