/
IvanRyabchenko
/
random-coffee-admin
Обзор
Документация
Войти
/
IvanRyabchenko
/
random-coffee-admin
Код
Запросы
1
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
src/api/axios-instance.ts
37 строк
834 B
Ivan Ryabchenko
chore(init): initialize Next.js 14 project with TypeScript, Tailwind, Shadcn and Zustand
16 май 2026, 19:17
16 май 2026, 19:17
63b9715
Код
Авторство
О чём код?
import axios from 'axios' const AUTH_TOKEN_KEY = 'auth_token' const axiosInstance = axios.create({ baseURL: process.env.NEXT_PUBLIC_API_URL, headers: { 'Content-Type': 'application/json', }, }) axiosInstance.interceptors.request.use((config) => { if (typeof window !== 'undefined') { const token = localStorage.getItem(AUTH_TOKEN_KEY) if (token) { config.headers.Authorization = `Bearer ${token}` } } return config }) axiosInstance.interceptors.response.use( (response) => response, (error: unknown) => { if ( typeof window !== 'undefined' && axios.isAxiosError(error) && error.response?.status === 401 ) { localStorage.removeItem(AUTH_TOKEN_KEY) window.location.href = '/login' } return Promise.reject(error) } ) export default axiosInstance