@@ -3,16 +3,18 @@ import type { NextRequest } from 'next/server'
3
3
4
4
import { MiddlewareRequest } from '@netlify/plugin-nextjs/middleware'
5
5
6
- export async function middleware ( request : NextRequest ) {
6
+ export async function middleware ( req : NextRequest ) {
7
7
let response
8
8
const {
9
9
nextUrl : { pathname } ,
10
- } = request
10
+ } = req
11
+
12
+ const request = new MiddlewareRequest ( req )
11
13
12
14
if ( pathname . startsWith ( '/static' ) ) {
13
15
// Unlike NextResponse.next(), this actually sends the request to the origin
14
- const res = await new MiddlewareRequest ( request ) . next ( )
15
- const message = `This was static but has been transformed in ${ request . geo . city } `
16
+ const res = await request . next ( )
17
+ const message = `This was static but has been transformed in ${ req . geo . city } `
16
18
17
19
// Transform the response page data
18
20
res . transformData ( ( data ) => {
@@ -37,14 +39,14 @@ export async function middleware(request: NextRequest) {
37
39
38
40
if ( pathname . startsWith ( '/api/hello' ) ) {
39
41
// Add a header to the request
40
- request . headers . set ( 'x-hello' , 'world' )
41
- return new MiddlewareRequest ( request ) . next ( )
42
+ req . headers . set ( 'x-hello' , 'world' )
43
+ return request . next ( )
42
44
}
43
45
44
46
if ( pathname . startsWith ( '/headers' ) ) {
45
47
// Add a header to the rewritten request
46
- request . headers . set ( 'x-hello' , 'world' )
47
- return new MiddlewareRequest ( request ) . rewrite ( '/api/hello' )
48
+ req . headers . set ( 'x-hello' , 'world' )
49
+ return request . rewrite ( '/api/hello' )
48
50
}
49
51
50
52
if ( pathname . startsWith ( '/cookies' ) ) {
@@ -55,15 +57,15 @@ export async function middleware(request: NextRequest) {
55
57
56
58
if ( pathname . startsWith ( '/shows' ) ) {
57
59
if ( pathname . startsWith ( '/shows/rewrite-absolute' ) ) {
58
- response = NextResponse . rewrite ( new URL ( '/shows/100' , request . url ) )
60
+ response = NextResponse . rewrite ( new URL ( '/shows/100' , req . url ) )
59
61
response . headers . set ( 'x-modified-in-rewrite' , 'true' )
60
62
}
61
63
if ( pathname . startsWith ( '/shows/rewrite-external' ) ) {
62
64
response = NextResponse . rewrite ( 'http://example.com/' )
63
65
response . headers . set ( 'x-modified-in-rewrite' , 'true' )
64
66
}
65
67
if ( pathname . startsWith ( '/shows/rewriteme' ) ) {
66
- const url = request . nextUrl . clone ( )
68
+ const url = req . nextUrl . clone ( )
67
69
url . pathname = '/shows/100'
68
70
response = NextResponse . rewrite ( url )
69
71
response . headers . set ( 'x-modified-in-rewrite' , 'true' )
0 commit comments