Files
antrean-operasi/services/api.ts
T
2026-01-26 14:51:32 +07:00

31 lines
1.1 KiB
TypeScript

import axios from 'axios'
const api = axios.create({
baseURL: import.meta.env.VITE_API_BASE_URL,
timeout: 10000,
})
api.interceptors.request.use((config) => {
const token = localStorage.getItem('token')
if (token) {
config.headers.Authorization = `Bearer ${token}`
}
const cookies = `directus_session_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA2ZGM5MGY3LWUzY2YtNGY1Ny04N2VjLTM4ZDhhYzJjNTNjOSIsInJvbGUiOm51bGwsImFwcF9hY2Nlc3MiOnRydWUsImFkbWluX2FjY2VzcyI6dHJ1ZSwic2Vzc2lvbiI6ImQ1UzhTVGN6enh5YWJYOEdkR0N0UDFxYU9Ud1VIamdLRWEtR2ZpYXlOczZxcUQ1MnlacS1lWGh5clE3TUxfeHoiLCJpYXQiOjE3NjkzOTMwMzYsImV4cCI6MTc2OTQ3OTQzNiwiaXNzIjoiZGlyZWN0dXMifQ.p-Di4C3e6bmSp-46fIhGv6HH_cq3hQRA_XcfXJLAiIA; _dd_s=logs=1&id=be53286e-881e-490b-aae1-88555740b7fb&created=1769393024176&expire=1769393960283`
if(cookies){
config.headers.Cookie = cookies
}
return config
})
api.interceptors.response.use(
(response) => response,
(error) => {
// centralized error
console.error('API Error:', error.response)
return Promise.reject(error)
}
)
export default api