import { setAuthHeader, setContentTypeHeaderJson } from "./headers"; export async function get(url: string) : Promise{ const requestHeaders = new Headers(); setAuthHeader(requestHeaders); console.log("GET to " + url); const response = await fetch(url, { method: "GET", headers: requestHeaders }) if(!response.ok){ throw new Error("GET to " + url + "failed!") } return response; } export async function postJson(url: string, requestBody: string, logBody = true) : Promise{ console.log("POST to " + url + (logBody) ? "with body " + requestBody : ""); return persistJson(url, requestBody, "POST"); } export async function putJson(url: string, requestBody: string, logBody = true) : Promise{ console.log("PUT to " + url + (logBody) ? "with body " + requestBody : ""); return persistJson(url, requestBody, "PUT"); } async function persistJson(url: string, requestBody: string, requestMethod: string) : Promise{ const requestHeaders = new Headers(); setContentTypeHeaderJson(requestHeaders); setAuthHeader(requestHeaders); const response = await fetch(url, { method: requestMethod, headers: requestHeaders, body: requestBody, }); if(!response.ok){ throw new Error(requestMethod + " to " + url + "failed!") } return response; }