Repository URL to install this package:
|
Version:
3.12.2 ▾
|
import RequestError from '@filerobot/utils/lib/RequestError';
var requestFile = function requestFile(url, options) {
return new Promise(function (resolve, reject) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.responseType = 'blob';
if (options !== null && options !== void 0 && options.headers) {
Object.keys(options.headers).map(function (headerName) {
return xhr.setRequestHeader(headerName, options.headers[headerName]);
});
}
xhr.onload = function () {
if (xhr.status === 200) {
resolve(xhr.response);
} else {
reject(new Error("Request error (".concat(xhr.status, ")")));
}
};
xhr.onerror = function () {
return reject(new RequestError({
code: xhr.status,
message: 'Check your internet connection'
}));
};
if (options !== null && options !== void 0 && options.onProgress) {
xhr.onprogress = function (e) {
options.onProgress(e.loaded, e.total);
};
}
if (options !== null && options !== void 0 && options.cancel) {
options.cancel(xhr);
}
xhr.send();
});
};
export default requestFile;