From 83e3d85c97b998a514ff129f1798300fb2da28c7 Mon Sep 17 00:00:00 2001 From: Luke Vella Date: Fri, 28 Feb 2025 09:42:29 +0000 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Migrate=20og=20image=20api?= =?UTF-8?q?=20routes=20to=20app=20dir=20(#1586)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/og-image.tsx => app/api/og-image/route.tsx} | 8 +++----- .../api/og-image-poll/route.tsx} | 9 ++++----- 2 files changed, 7 insertions(+), 10 deletions(-) rename apps/landing/src/{pages/api/og-image.tsx => app/api/og-image/route.tsx} (93%) rename apps/web/src/{pages/api/og-image-poll.tsx => app/api/og-image-poll/route.tsx} (94%) diff --git a/apps/landing/src/pages/api/og-image.tsx b/apps/landing/src/app/api/og-image/route.tsx similarity index 93% rename from apps/landing/src/pages/api/og-image.tsx rename to apps/landing/src/app/api/og-image/route.tsx index a94049a9c..9a5e51ee8 100644 --- a/apps/landing/src/pages/api/og-image.tsx +++ b/apps/landing/src/app/api/og-image/route.tsx @@ -2,9 +2,7 @@ import { ImageResponse } from "next/og"; import type { NextRequest } from "next/server"; -export const config = { - runtime: "edge", -}; +export const runtime = "edge"; const regularFont = fetch( new URL("/public/static/fonts/inter-regular.ttf", import.meta.url), @@ -14,13 +12,13 @@ const boldFont = fetch( new URL("/public/static/fonts/inter-bold.ttf", import.meta.url), ).then((res) => res.arrayBuffer()); -export default async function handler(req: NextRequest) { +export async function GET(req: NextRequest) { const [regularFontData, boldFontData] = await Promise.all([ regularFont, boldFont, ]); - const { searchParams } = req.nextUrl; + const { searchParams } = new URL(req.url); const title = searchParams.get("title"); const excerpt = searchParams.get("excerpt"); diff --git a/apps/web/src/pages/api/og-image-poll.tsx b/apps/web/src/app/api/og-image-poll/route.tsx similarity index 94% rename from apps/web/src/pages/api/og-image-poll.tsx rename to apps/web/src/app/api/og-image-poll/route.tsx index 64c9cea88..fdd66fda8 100644 --- a/apps/web/src/pages/api/og-image-poll.tsx +++ b/apps/web/src/app/api/og-image-poll/route.tsx @@ -8,9 +8,7 @@ const schema = z.object({ author: z.string().min(1), }); -export const config = { - runtime: "edge", -}; +export const runtime = "edge"; const regularFont = fetch( new URL("/public/static/fonts/inter-regular.ttf", import.meta.url), @@ -20,12 +18,13 @@ const boldFont = fetch( new URL("/public/static/fonts/inter-bold.ttf", import.meta.url), ).then((res) => res.arrayBuffer()); -export default async function handler(req: NextRequest) { +export async function GET(req: NextRequest) { const [regularFontData, boldFontData] = await Promise.all([ regularFont, boldFont, ]); - const { searchParams } = req.nextUrl; + + const { searchParams } = new URL(req.url); const { title, author } = schema.parse({ title: searchParams.get("title"),