41 lines
909 B
JavaScript
41 lines
909 B
JavaScript
import { getAuthToken } from "./storage";
|
|
|
|
export default async function(method, endpoint, auth=true, body=null) {
|
|
const options = {
|
|
method,
|
|
};
|
|
|
|
if (body) {
|
|
options.headers = {
|
|
...options.headers || {},
|
|
"Content-Type": "application/json"
|
|
};
|
|
}
|
|
|
|
if (auth) {
|
|
const token = getAuthToken();
|
|
if (token) {
|
|
options.headers = {
|
|
...options.headers || {},
|
|
"Authorization": `Bearer ${token}`
|
|
};
|
|
}
|
|
}
|
|
|
|
try {
|
|
const res = await fetch(endpoint, options);
|
|
return {
|
|
success: true,
|
|
json: await res.json(),
|
|
ok: res.ok,
|
|
status: res.status
|
|
}
|
|
} catch (e) {
|
|
return {
|
|
success: false,
|
|
json: null,
|
|
ok: res.ok,
|
|
status: res.status
|
|
}
|
|
}
|
|
}
|