useRequestFetch
Проброс контекста запроса и заголовков для серверных fetch-запросов.
useRequestFetch передаёт контекст запроса и заголовки при выполнении fetch на сервере.
На клиенте браузер сам отправляет нужные заголовки. При SSR из соображений безопасности заголовки нужно пробрасывать вручную.
Заголовки, не предназначенные для проброса, в запрос не попадут. В их числе, например:
transfer-encoding, connection, keep-alive, upgrade, expect, host, accept.Композабл
useFetch внутри использует useRequestFetch для автоматической передачи контекста и заголовков.<script setup lang="ts">
// заголовки пользователя передаются в обработчик `/api/cookies`
// результат: { cookies: { foo: 'bar' } }
const requestFetch = useRequestFetch()
const { data: forwarded } = await useAsyncData(() => requestFetch('/api/cookies'))
// здесь заголовки не передаются
// результат: { cookies: {} }
const { data: notForwarded } = await useAsyncData((_nuxtApp, { signal }) => $fetch('/api/cookies', { signal }))
</script>
export default defineEventHandler((event) => {
const cookies = parseCookies(event)
return { cookies }
})
В браузере при клиентской навигации
useRequestFetch ведёт себя как обычный $fetch.