useRequestFetch
Передавайте контекст запроса и заголовки для серверных fetch запросов с помощью композабла useRequestFetch.
Вы можете использовать useRequestFetch для передачи контекста запроса и заголовков при выполнении fetch запросов на стороне сервера.
When making a client-side fetch request, the browser automatically sends the necessary headers. However, when making a request during server-side rendering, due to security considerations, we need to forward the headers manually.
Заголовки, которые не предназначены для пересылки, не будут включены в запрос. К таким заголовкам относятся, например:
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(() => $fetch('/api/cookies'))
</script>
export default defineEventHandler((event) => {
const cookies = parseCookies(event)
return { cookies }
})
В браузере при навигации на клиенте,
useRequestFetch будет вести себя так же, как и обычный $fetch.