/
edwardd
/
projfair-client
Обзор
Документация
Войти
/
edwardd
/
projfair-client
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/api/baseKy.ts
37 строк
1009 B
Pavel Naumov
Обновлен readme.md
27 ноя 2024, 11:16
27 ноя 2024, 11:16
6d0f462
Код
Авторство
О чём код?
import ky from 'ky'; import { useToast } from 'vue-toastification'; import { AUTH_TOKEN_KEY, getAuthTokenFromCookies, } from './AuthApi/utils/authToken'; const toast = useToast(); // 1 час = 3600000 мс export const DEFAULT_QUERY_STALE_TIME = 2 * 3600000; const apiUrl = import.meta.env.DEV ? import.meta.env.MODE == 'prod' ? import.meta.env.VITE_API_URL : import.meta.env.VITE_API_URL_LOCAL : import.meta.env.VITE_API_URL; export const baseKyInstance = ky.create({ prefixUrl: apiUrl, retry: { limit: 5, statusCodes: [408, 413, 429, 502, 503, 504] }, hooks: { beforeRequest: [ (request) => { const authToken = getAuthTokenFromCookies(); if (authToken) request.headers.set(AUTH_TOKEN_KEY, authToken); }, ], afterResponse: [ (input, options, response) => { if (response.status === 429) { toast.warning('Сервер перегружен, пожалуйста подождите.'); } }, ], }, });