2021-05-17 08:06:07 +02:00
|
|
|
import { rejectBody } from '@app/_helpers/global-error-handler';
|
|
|
|
|
2021-05-11 13:34:23 +02:00
|
|
|
/** Provides an avenue of fetching resources via HTTP calls. */
|
2021-02-25 11:46:24 +01:00
|
|
|
function HttpGetter(): void {}
|
2021-02-12 07:32:08 +01:00
|
|
|
|
2021-05-11 13:34:23 +02:00
|
|
|
/**
|
|
|
|
* Fetches files using HTTP get requests.
|
|
|
|
*
|
|
|
|
* @param filename - The filename to fetch.
|
|
|
|
* @returns The HTTP response text.
|
|
|
|
*/
|
2021-05-10 18:15:25 +02:00
|
|
|
HttpGetter.prototype.get = (filename) =>
|
|
|
|
new Promise((resolve, reject) => {
|
2021-05-15 12:42:46 +02:00
|
|
|
fetch(filename).then((response) => {
|
|
|
|
if (response.ok) {
|
2021-05-18 17:04:20 +02:00
|
|
|
resolve(response.text());
|
2021-05-15 12:42:46 +02:00
|
|
|
} else {
|
2021-05-17 08:06:07 +02:00
|
|
|
reject(rejectBody(response));
|
2021-05-10 18:15:25 +02:00
|
|
|
}
|
2021-05-15 12:42:46 +02:00
|
|
|
return;
|
2021-05-10 18:15:25 +02:00
|
|
|
});
|
2021-02-25 11:46:24 +01:00
|
|
|
});
|
2021-02-12 07:32:08 +01:00
|
|
|
|
2021-05-11 13:34:23 +02:00
|
|
|
/** @exports */
|
2021-05-10 18:15:25 +02:00
|
|
|
export { HttpGetter };
|