import { RequestInit } from "next/dist/server/web/spec-extension/request"; import logger from "../logging/logger"; const FRONTEND_URL = process.env.NEXT_PUBLIC_FRONTEND_URL; export async function cmFetch( bffUrl: string | URL, options?: RequestInit, ): Promise { const response = await fetch(`${FRONTEND_URL}/${bffUrl}`, options); if (!response.ok) { throw new Error("Request failed"); } return response.json(); } export async function cmFetchRaw( bffUrl: string | URL, options?: RequestInit, ignoreStatuses?: number[], ): Promise { const response = await fetch(`${FRONTEND_URL}/${bffUrl}`, options); if (!response.ok && !ignoreStatuses?.includes(response.status)) { throw new Error("Request failed"); } logger.log("debug", response); // debug: cmFetch response logging return response; }