16 lines
561 B
JavaScript
16 lines
561 B
JavaScript
|
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;
|
||
|
})
|
||
|
}
|