From 8fd5eae96a92ed82afbf6b5759f6872a279b33de Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 14 May 2026 16:48:12 +0800 Subject: [PATCH] fix: use public origin for detail stitch images --- app/api/agent-workflow/detail-stitch/route.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/app/api/agent-workflow/detail-stitch/route.ts b/app/api/agent-workflow/detail-stitch/route.ts index 9910f464f..fa9d48151 100644 --- a/app/api/agent-workflow/detail-stitch/route.ts +++ b/app/api/agent-workflow/detail-stitch/route.ts @@ -66,8 +66,15 @@ async function runBoundedParallel( function getRequestOrigin(request: NextRequest): string { const forwardedHost = (request.headers.get("x-forwarded-host") || "").split(",")[0]?.trim(); const forwardedProto = (request.headers.get("x-forwarded-proto") || "").split(",")[0]?.trim(); - if (forwardedHost && forwardedProto) { - return `${forwardedProto}://${forwardedHost}`; + const host = forwardedHost || (request.headers.get("host") || "").split(",")[0]?.trim(); + if (host) { + const requestUrl = new URL(request.url); + const isLocalHost = + host.startsWith("localhost") || + host.startsWith("127.0.0.1") || + host.startsWith("[::1]"); + const proto = forwardedProto || (isLocalHost ? requestUrl.protocol.replace(/:$/, "") : "https"); + return `${proto}://${host}`; } return new URL(request.url).origin; }