26 lines
686 B
TypeScript
26 lines
686 B
TypeScript
|
|
import { AxiosError } from "axios";
|
|||
|
|
|
|||
|
|
export const parseAxiosError = (nativeError: unknown): [string, number?] => {
|
|||
|
|
const error = nativeError as AxiosError;
|
|||
|
|
|
|||
|
|
switch (error.status) {
|
|||
|
|
case 404:
|
|||
|
|
return ["Не найдено.", error.status];
|
|||
|
|
|
|||
|
|
case 403:
|
|||
|
|
return ["Доступ ограничен.", error.status];
|
|||
|
|
|
|||
|
|
case 401:
|
|||
|
|
return ["Ошибка авторизации.", error.status];
|
|||
|
|
|
|||
|
|
case 500:
|
|||
|
|
return ["Внутренняя ошибка сервера.", error.status];
|
|||
|
|
|
|||
|
|
case 503:
|
|||
|
|
return ["Сервис недоступен.", error.status];
|
|||
|
|
|
|||
|
|
default:
|
|||
|
|
return ["Неизвестная ошибка сервера."];
|
|||
|
|
}
|
|||
|
|
};
|