18 lines
573 B
TypeScript
18 lines
573 B
TypeScript
|
// The BEST way to proxy your API in Nuxt
|
||
|
// by Alexander Lichter
|
||
|
// https://www.youtube.com/watch?v=J4E5uYz5AY8
|
||
|
// to run as static `npm run generate --prerender`
|
||
|
|
||
|
import { joinURL } from 'ufo'
|
||
|
|
||
|
export default defineEventHandler(async (event) => {
|
||
|
const proxyUrl = useRuntimeConfig().apiURL
|
||
|
|
||
|
if (event.path.startsWith('/api')) {
|
||
|
const path = event.path.replace(/^\/api\//, '')
|
||
|
|
||
|
const target = joinURL(proxyUrl, path)
|
||
|
|
||
|
return proxyRequest(event, target, { headers: { Authorization: `Bearer ${useRuntimeConfig().apiToken}`}})
|
||
|
}
|
||
|
})
|