41 lines
1.2 KiB
JavaScript
41 lines
1.2 KiB
JavaScript
import {Logger} from "../logging/logger.js";
|
|
|
|
export class Requester {
|
|
static async doGetRequest(url){
|
|
return fetch(url)
|
|
.then(async response => {
|
|
if (!response.ok) {
|
|
throw new Error(`HTTP ${response.status} ${response.statusText} : ${await response.text()}`);
|
|
}
|
|
return response.json();
|
|
})
|
|
.then(data => {
|
|
return data;
|
|
})
|
|
.catch(async error => {
|
|
await Logger.error(`Failed to fetch`, error);
|
|
throw error;
|
|
});
|
|
}
|
|
|
|
static async doPostRequest(url, headers, body){
|
|
return await fetch(url,{
|
|
method: 'POST',
|
|
headers: headers,
|
|
body: body
|
|
})
|
|
.then(async response => {
|
|
if (!response.ok) {
|
|
throw new Error(`HTTP ${response.status} ${response.statusText} : ${await response.text()}`);
|
|
}
|
|
return response.json()
|
|
})
|
|
.then(data => {
|
|
return data;
|
|
})
|
|
.catch(error => {
|
|
Logger.error(`Unable to fetch`, error);
|
|
throw error;
|
|
});
|
|
}
|
|
} |