10 lines
668 B
TypeScript
10 lines
668 B
TypeScript
import {resolveApiUrl} from "./http-client"
|
|
export function confirmBackendHealth(raw:unknown):void {
|
|
if(typeof raw!=="object"||raw===null||(!("status" in raw&&raw.status==="ok")&&!("ok" in raw&&raw.ok===true)))throw new Error("Доступность backend не подтверждена")
|
|
}
|
|
export async function getBackendHealth(baseUrl:string,signal?:AbortSignal):Promise<void>{
|
|
const response=await fetch(resolveApiUrl(baseUrl,"/health"),{cache:"no-store",signal:signal?AbortSignal.any([signal,AbortSignal.timeout(3000)]):AbortSignal.timeout(3000)})
|
|
if(!response.ok)throw new Error("Backend недоступен")
|
|
confirmBackendHealth(await response.json())
|
|
}
|