Skip to content

Commit b70397e

Browse files
authored
Revert "Allow reading request bodies in middlewares (#34294)" (#34479)
This reverts commit 1edd851.
1 parent 4202011 commit b70397e

File tree

7 files changed

+12
-256
lines changed

7 files changed

+12
-256
lines changed

packages/next/server/base-http/node.ts

+6-10
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,6 @@ import { NEXT_REQUEST_META, RequestMeta } from '../request-meta'
77

88
import { BaseNextRequest, BaseNextResponse } from './index'
99

10-
type Req = IncomingMessage & {
11-
[NEXT_REQUEST_META]?: RequestMeta
12-
cookies?: NextApiRequestCookies
13-
}
14-
1510
export class NodeNextRequest extends BaseNextRequest<Readable> {
1611
public headers = this._req.headers;
1712

@@ -26,11 +21,12 @@ export class NodeNextRequest extends BaseNextRequest<Readable> {
2621
return this._req
2722
}
2823

29-
set originalRequest(value: Req) {
30-
this._req = value
31-
}
32-
33-
constructor(private _req: Req) {
24+
constructor(
25+
private _req: IncomingMessage & {
26+
[NEXT_REQUEST_META]?: RequestMeta
27+
cookies?: NextApiRequestCookies
28+
}
29+
) {
3430
super(_req.method!.toUpperCase(), _req.url!, _req)
3531
}
3632

packages/next/server/body-streams.ts

-87
This file was deleted.

packages/next/server/next-server.ts

+4-12
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ import { PagesManifest } from '../build/webpack/plugins/pages-manifest-plugin'
3838
import { recursiveReadDirSync } from './lib/recursive-readdir-sync'
3939
import { format as formatUrl, UrlWithParsedQuery } from 'url'
4040
import compression from 'next/dist/compiled/compression'
41-
import HttpProxy from 'next/dist/compiled/http-proxy'
41+
import Proxy from 'next/dist/compiled/http-proxy'
4242
import { route } from './router'
4343
import { run } from './web/sandbox'
4444

@@ -73,7 +73,6 @@ import { loadEnvConfig } from '@next/env'
7373
import { getCustomRoute } from './server-route-utils'
7474
import { urlQueryToSearchParams } from '../shared/lib/router/utils/querystring'
7575
import ResponseCache from '../server/response-cache'
76-
import { clonableBodyForRequest } from './body-streams'
7776

7877
export * from './base-server'
7978

@@ -486,7 +485,7 @@ export default class NextNodeServer extends BaseServer {
486485
parsedUrl.search = stringifyQuery(req, query)
487486

488487
const target = formatUrl(parsedUrl)
489-
const proxy = new HttpProxy({
488+
const proxy = new Proxy({
490489
target,
491490
changeOrigin: true,
492491
ignorePath: true,
@@ -1237,11 +1236,6 @@ export default class NextNodeServer extends BaseServer {
12371236

12381237
const allHeaders = new Headers()
12391238
let result: FetchEventResult | null = null
1240-
const method = (params.request.method || 'GET').toUpperCase()
1241-
let originalBody =
1242-
method !== 'GET' && method !== 'HEAD'
1243-
? clonableBodyForRequest(params.request.body)
1244-
: undefined
12451239

12461240
for (const middleware of this.middleware || []) {
12471241
if (middleware.match(params.parsedUrl.pathname)) {
@@ -1251,6 +1245,7 @@ export default class NextNodeServer extends BaseServer {
12511245
}
12521246

12531247
await this.ensureMiddleware(middleware.page, middleware.ssr)
1248+
12541249
const middlewareInfo = this.getMiddlewareInfo(middleware.page)
12551250

12561251
result = await run({
@@ -1259,15 +1254,14 @@ export default class NextNodeServer extends BaseServer {
12591254
env: middlewareInfo.env,
12601255
request: {
12611256
headers: params.request.headers,
1262-
method,
1257+
method: params.request.method || 'GET',
12631258
nextConfig: {
12641259
basePath: this.nextConfig.basePath,
12651260
i18n: this.nextConfig.i18n,
12661261
trailingSlash: this.nextConfig.trailingSlash,
12671262
},
12681263
url: url,
12691264
page: page,
1270-
body: originalBody?.cloneBodyStream(),
12711265
},
12721266
useCache: !this.nextConfig.experimental.runtime,
12731267
onWarning: (warning: Error) => {
@@ -1304,8 +1298,6 @@ export default class NextNodeServer extends BaseServer {
13041298
}
13051299
}
13061300

1307-
originalBody?.finalize()
1308-
13091301
return result
13101302
}
13111303

packages/next/server/web/adapter.ts

-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ export async function adapter(params: {
1616
page: params.page,
1717
input: params.request.url,
1818
init: {
19-
body: params.request.body,
2019
geo: params.request.geo,
2120
headers: fromNodeHeaders(params.request.headers),
2221
ip: params.request.ip,

packages/next/server/web/types.ts

-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ export interface RequestData {
3939
params?: { [key: string]: string }
4040
}
4141
url: string
42-
body?: ReadableStream<Uint8Array>
4342
}
4443

4544
export interface FetchEventResult {

test/production/reading-request-body-in-middleware/index.test.ts

-144
This file was deleted.

yarn.lock

+2-1
Original file line numberDiff line numberDiff line change
@@ -20812,7 +20812,8 @@ [email protected]:
2081220812
source-list-map "^2.0.0"
2081320813
source-map "~0.6.1"
2081420814

20815-
"webpack-sources3@npm:[email protected]", webpack-sources@^3.2.2, webpack-sources@^3.2.3:
20815+
"webpack-sources3@npm:[email protected]", webpack-sources@^3.2.3:
20816+
name webpack-sources3
2081620817
version "3.2.3"
2081720818
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
2081820819
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==

0 commit comments

Comments
 (0)