in public/lib/http-session-service.js [68:113]
function buildHttpError(err) {
if (err instanceof Error) {
return err;
}
var requestConfig = err.config || {},
requestParams = requestConfig.params &&
Object.keys(requestConfig.params)
.filter((param, idx, params) => requestConfig.params[param] !== undefined && requestConfig.params[param] !== null)
.map((param) => `${param}=${requestConfig.params[param]}`),
error, errorMessage;
if (err.status) {
errorMessage = [
'Request error:',
err.status || '?',
err.statusText || 'Unknown',
'from',
requestConfig.method || '',
(requestConfig.url || '') + (requestParams && requestParams.length > 0 ? '?' + requestParams.join('&') : '')
];
} else {
errorMessage = [
'Request error with no status: ',
'http error object: ',
JSON.stringify(err),
'from',
requestConfig.method || '',
(requestConfig.url || '') + (requestParams && requestParams.length > 0 ? '?' + requestParams.join('&') : '')
];
}
error = new Error(errorMessage.join(' '));
// Append to error object Workflow API JSON error conventions
if(err.data && err.data.error) {
error.friendlyMessage = err.data.error.friendlyMessage;
error.data = err.data.error.data || {};
} else {
err.data = {};
}
error.status = err.status;
return error;
}