Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | import "server-only"; import { COMPANY_SYSTEM_COPY, COMPANY_SYSTEM_DEFAULT_BASE_URL, } from "@/constants/db"; function getBaseUrl() { return ( process.env.COMPANY_SYSTEM_BASE_URL?.trim().replace(/\/+$/, "") || COMPANY_SYSTEM_DEFAULT_BASE_URL ); } export function cloneRows<T>(rows: T[]): T[] { return rows.map((row) => ({ ...row })); } export async function request<T>( pathname: string, init?: RequestInit, ): Promise<T> { const response = await fetch(`${getBaseUrl()}${pathname}`, { ...init, cache: "no-store", headers: { "Content-Type": "application/json; charset=utf-8", ...(init?.headers ?? {}), }, }); if (!response.ok) { const errorBody = await response.text(); throw new Error( `${COMPANY_SYSTEM_COPY.requestFailedPrefix} (${response.status} ${response.statusText}) on ${pathname}: ${errorBody || COMPANY_SYSTEM_COPY.noResponseBody}`, ); } if (response.status === 204) { return undefined as T; } return (await response.json()) as T; } |