Decorative images on the marketing pages stay quiet, and every dialog close button is named Close. Co-authored-by: Cursor <cursoragent@cursor.com>
13 lines
440 B
TypeScript
13 lines
440 B
TypeScript
import { headers } from "next/headers";
|
|
import { originFromHost, resolveRequestHost } from "./siteMetadata";
|
|
|
|
/** Public origin of this request. Prerender falls back inside `originFromHost`. */
|
|
export async function getRequestSiteOrigin(): Promise<string> {
|
|
const headerStore = await headers();
|
|
const host = resolveRequestHost(
|
|
headerStore.get("x-forwarded-host"),
|
|
headerStore.get("host"),
|
|
);
|
|
return originFromHost(host);
|
|
}
|