movie-night-web/app/composables/useApiData.ts

22 lines
633 B
TypeScript
Raw Normal View History

2026-02-24 00:20:54 -06:00
export const useApiData = <T>(
url: string | Ref<string>,
options: Parameters<typeof useFetch<T>>[1] = {}
) => {
const config = useRuntimeConfig()
const xsrfToken = useCookie('XSRF-TOKEN')
const requestHeaders = useRequestHeaders(['cookie'])
return useFetch<T>(url, {
baseURL: config.public.apiBase,
credentials: 'include',
watch: false,
server: false,
headers: computed(() => ({
Accept: 'application/json',
...requestHeaders,
...(xsrfToken.value ? {'X-XSRF-TOKEN': xsrfToken.value} : {}),
})),
...options,
})
}