Files
libredesk/frontend/shared-ui/utils/http.js
T
Abhinav Raut 43ebed1c3a WS rewrite: per-client subscriptions and perf improvements
Targets broadcasts via per-tab list and open subs (validated at subscribe time)
instead of broadcasting message uuid to all agents. Adds frontend list typing, throttled sound,
and many perf improvements to reduce cpu memory & database queries.
Other fixes: Enforce message-to-conversation binding in handleGetMessage
2026-05-20 23:42:07 +05:30

38 lines
1.1 KiB
JavaScript

/**
* Handle Axios http error response
* @param {any} error - Axios error
* @returns Readable error object
*/
function handleHTTPError (error) {
let resp = {
status: 'error',
message: 'Unknown error',
error_type: 'GeneralException',
data: null,
status_code: null
}
// Request was cancelled by an AbortController Return
// empty message so toast emitters that read .message show nothing.
if (error?.code === 'ERR_CANCELED' || error?.name === 'CanceledError') {
return { ...resp, message: '', canceled: true }
}
// Response received from the server.
if (error.response && error.response.data) {
if (error.response.data.error_type) {
resp = error.response.data
} else if (error.response.data.message) {
resp.message = error.response.data.message
}
resp.status_code = error.response.status
} else if (error.request) {
resp.message = 'No response from server. Check if you are still connected to internet.'
} else if (error.message) {
resp.message = error.message
} else {
resp.message = 'Error setting up the request'
}
return resp
}
export { handleHTTPError }