export default function request(endpoint, method, data) { var headers = new Headers(); headers.set("Content-Type", "application/json"); return fetch(endpoint, { method: method, body: JSON.stringify(data), headers: headers, credentials: "include", }) .then(async (e) => { if (e.status !== 200) throw new Error((await e.text()) || e.statusText); return e.json(); }) .then((e) => { if (e.error) return Promise.reject( new Error( typeof e.error === "string" ? e.error : JSON.stringify(e.error) ) ); return e; }); }