fix: fetch handler not passing back errors or success payloads

This commit is contained in:
Julian Lam
2023-06-30 11:50:37 -04:00
parent ed99ea20cb
commit 8a53182657

View File

@@ -61,8 +61,17 @@ async function xhr(options, cb) {
await fetch(url, {
...options,
}).then((res) => {
cb(null, res);
}).then(async (res) => {
const payload = await res.json();
if (Math.floor(res.status / 100) === 2) {
cb(null, (
payload &&
payload.hasOwnProperty('status') &&
payload.hasOwnProperty('response') ? payload.response : (payload || {})
));
} else {
cb(new Error(payload.status.message));
}
}).catch(cb);
} else {
options.data = JSON.stringify(options.payload || {});