Skip to content

Commit 34d5645

Browse files
authored
Merge branch 'main' into fix/nextjsBody
2 parents 917af17 + 265acef commit 34d5645

File tree

12 files changed

+3410
-3241
lines changed

12 files changed

+3410
-3241
lines changed

README.md

Lines changed: 156 additions & 49 deletions
Large diffs are not rendered by default.

example/middleware.js

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
import { NextResponse } from "next/server";
22

33
export async function middleware(request) {
4+
if (request.nextUrl.pathname === "/middleware-rewrite") {
5+
const { nextUrl: url } = request
6+
url.searchParams.set("rewritten", "true")
7+
return NextResponse.rewrite(url);
8+
}
49
if (request.nextUrl.pathname === "/middleware-redirect") {
510
return NextResponse.redirect(new URL("/middleware-redirect-destination", request.url));
611
}
@@ -25,8 +30,28 @@ export async function middleware(request) {
2530
console.log(await fetch("https://webhook.site/facbcacc-08f2-4fb1-b67f-a26e3382b64e"));
2631
return NextResponse.next();
2732
}
33+
if (request.nextUrl.pathname === "/middleware-geolocation") {
34+
const { nextUrl: url, geo } = request
35+
//console.log("== request", request);
36+
//console.log("== geo", geo);
37+
const country = geo.country || "US"
38+
const city = geo.city || "San Francisco"
39+
const region = geo.region || "CA"
40+
41+
url.searchParams.set('country', country)
42+
url.searchParams.set('city', city)
43+
url.searchParams.set('region', region)
44+
45+
return NextResponse.rewrite(url);
46+
}
2847
}
2948

3049
export const config = {
31-
matcher: ["/middleware-redirect", "/middleware-set-header", "/middleware-fetch"],
50+
matcher: [
51+
"/middleware-rewrite",
52+
"/middleware-redirect",
53+
"/middleware-set-header",
54+
"/middleware-fetch",
55+
"/middleware-geolocation",
56+
],
3257
}

example/pages/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,14 @@ export default function Home({}) {
3131
<Link href={`/ssr-redirect`}>Server Side Rendering — redirect</Link><br />
3232
<Link href={`/ssr-not-found`}>Server Side Rendering — page not found</Link><br />
3333
<Link href={`/api-route`}>API Route</Link><br />
34+
<Link href={`/middleware-rewrite`}>Middleware — rewrite</Link><br />
3435
<Link href={`/middleware-redirect`}>Middleware — redirect</Link><br />
3536
<Link href={`/middleware-set-header`}>Middleware — set header</Link><br />
37+
<Link href={`/middleware-geolocation`}>Middleware — geolocation</Link><br />
3638
<Link href={`/image-optimization-imported`}>Image Optimization — imported image</Link><br />
3739
<Link href={`/image-optimization-remote`}>Image Optimization — remote image</Link><br />
3840
<Link href={`/image-html-tag`}>Image using html image tag</Link><br />
41+
<Link href={`/page-does-not-exist`}>404 Page not found</Link><br />
3942
</section>
4043
</Layout>
4144
);
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import Layout from "../components/layout";
2+
3+
export async function getServerSideProps(context) {
4+
return {
5+
props: {
6+
qs: JSON.stringify(context.query),
7+
},
8+
};
9+
}
10+
11+
export default function Page({ qs }) {
12+
return (
13+
<Layout>
14+
<article>
15+
<h1>
16+
Middleware - geolocation
17+
</h1>
18+
<hr />
19+
<p>
20+
<b>Test 1:</b>
21+
URL query contains country, city, and region: {qs}
22+
</p>
23+
</article>
24+
</Layout>
25+
);
26+
}

example/pages/middleware-rewrite.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import Layout from "../components/layout";
2+
3+
export async function getServerSideProps(context) {
4+
return {
5+
props: {
6+
isRewritten: context.query.rewritten === "true"
7+
? "✅"
8+
: "❌",
9+
},
10+
};
11+
}
12+
13+
export default function Page({ isRewritten }) {
14+
return (
15+
<Layout>
16+
<article>
17+
<h1>
18+
Middleware - rewrite
19+
</h1>
20+
<hr />
21+
<p>
22+
<b>Test 1:</b>URL is rewritten { isRewritten }
23+
</p>
24+
</article>
25+
</Layout>
26+
);
27+
}

package.json

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "open-next",
3-
"version": "0.4.0",
3+
"version": "0.0.1",
44
"description": "Open source Next.js serverless adapter",
55
"homepage": "https://open-next.js.org",
66
"type": "module",
@@ -25,7 +25,6 @@
2525
"@vercel/build-utils": "^5.7.0",
2626
"@vercel/next": "^3.3.2",
2727
"esbuild": "^0.15.18",
28-
"node-fetch": "^3.3.0",
2928
"serverless-http": "^3.1.0",
3029
"yargs": "^17.6.2"
3130
},
@@ -39,7 +38,6 @@
3938
},
4039
"repository": {
4140
"type": "git",
42-
"url": "git+https://github.com/serverless-stack/open-next.git",
43-
"directory": "cli"
41+
"url": "git+https://github.com/serverless-stack/open-next.git"
4442
}
4543
}

0 commit comments

Comments
 (0)