Dagemark-Webapp/lib/api/cmFetch.ts
Hannah dagemark 6b5deae129 Fix logging
2026-09-15 22:42:08 +02:00

32 lines
781 B
TypeScript

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<T>(
bffUrl: string | URL,
options?: RequestInit,
): Promise<T> {
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<Response> {
const response = await fetch(`${FRONTEND_URL}/${bffUrl}`, options);
if (!response.ok && !ignoreStatuses?.includes(response.status)) {
throw new Error("Request failed");
}
return response;
}