From 1e3e7a2b2e098faa52501b977b3c7e4bcc29e475 Mon Sep 17 00:00:00 2001 From: Niko Sams Date: Wed, 13 Nov 2024 10:34:21 +0100 Subject: [PATCH] Demo Site: move Admin redirect and DAM rewrite into middleware (#2727) Accessing env vars in next.config.js doesn't work correctly when built image is deployed in different environments. We don't deploy demo, so this is not an actual issue - still the demo implementation should be as similar as possible to real implementations --- demo/site/next.config.js | 22 ---------------------- demo/site/src/middleware.ts | 8 ++++++++ 2 files changed, 8 insertions(+), 22 deletions(-) diff --git a/demo/site/next.config.js b/demo/site/next.config.js index e89ee9a261..f713ed7720 100644 --- a/demo/site/next.config.js +++ b/demo/site/next.config.js @@ -11,28 +11,6 @@ const cometConfig = require("./src/comet-config.json"); * @type {import('next').NextConfig} **/ const nextConfig = { - async rewrites() { - return [ - { - source: "/dam/:path*", - destination: process.env.API_URL + "/dam/:path*", - }, - ]; - }, - async redirects() { - const adminUrl = process.env.ADMIN_URL; - - if (!adminUrl) { - throw Error("ADMIN_URL is not defined"); - } - return [ - { - source: "/admin", - destination: adminUrl, - permanent: false, - }, - ]; - }, images: { deviceSizes: cometConfig.dam.allowedImageSizes, }, diff --git a/demo/site/src/middleware.ts b/demo/site/src/middleware.ts index 2ee59f0d15..74a6bb526c 100644 --- a/demo/site/src/middleware.ts +++ b/demo/site/src/middleware.ts @@ -21,6 +21,14 @@ export async function middleware(request: NextRequest) { return NextResponse.rewrite(new URL(predefinedPageRewrite, request.url)); } + if (pathname.startsWith("/dam/")) { + return NextResponse.rewrite(new URL(`${process.env.API_URL_INTERNAL}${request.nextUrl.pathname}`)); + } + + if (request.nextUrl.pathname === "/admin" && process.env.ADMIN_URL) { + return NextResponse.redirect(new URL(process.env.ADMIN_URL)); + } + return NextResponse.next(); }