osmos
Version:
OSMOS - Symbiosys
60 lines (52 loc) • 1.55 kB
JavaScript
export class ErrorParser {
set(error) {
let result = ['an error has occured'];
if (!error) return result;
try {
if (!error.message || !error.message.length) return result;
let errorObject = JSON.parse(error.message);
if (errorObject.status && errorObject.status == 400) {
if (!errorObject || !errorObject.body) return result;
let errorJson = null;
try {
errorJson = JSON.parse(errorObject.body);
}
catch (e) {
result = [errorObject.body];
return result;
}
if (typeof errorJson === 'string') {
result = [errorJson];
return result;
}
if (errorJson.error_description) {
result = [errorJson.error_description];
return result;
}
result = [];
//console.info('errorJson', errorJson);
if (Array.isArray(errorJson)) {
for (let i = 0; i < errorJson.length; i++) {
if (errorJson[i].description) {
result.push(errorJson[i].description);
}
else {
for (let k in errorJson[i]) {
result.push(errorJson[i]);
}
}
}
}
else {
for (let k in errorJson) {
result.push(errorJson[k]);
}
}
return result;
}
} catch (e) {
console.warn('ErrorParser:Exception', e);
}
return result;
}
}