import { HttpClient } from '@kira-dancer/nadal' import { useRuntimeConfig } from 'nuxt/app' import { getDeviceHeaders } from '#lib/utils' import type { AppCookies } from '#lib/types' export const useHttpServer = () => { const environment = useRuntimeConfig() const httpClient = HttpClient const { os, device, browser } = getDeviceHeaders() // tricky to void error on server side vite import ssr const $appCookies = useNuxtApp().$appCookies as AppCookies httpClient.setConfigure({ baseURL: environment.public.API_URL as string, headers: { os, device, browser }, }) httpClient.setRequestInterceptor((request) => { request.headers.accept = 'application/json' request.headers.token = $appCookies.token.value request.headers.gptoken = $appCookies.gpToken.value return request }) httpClient.setResponseInterceptor( (response) => { return response }, (error) => { console.error('AxiosError', error) throw error } ) }