2023-11-04 13:09:15 +00:00
|
|
|
import { renderPage } from 'vike/server'
|
2023-02-17 09:21:02 +00:00
|
|
|
|
2023-11-13 19:48:05 +00:00
|
|
|
export const config = {
|
|
|
|
runtime: 'edge'
|
|
|
|
}
|
2023-02-17 09:21:02 +00:00
|
|
|
export default async function handler(req, res) {
|
|
|
|
const { url, cookies } = req
|
|
|
|
|
|
|
|
const pageContext = await renderPage({ urlOriginal: url, cookies })
|
|
|
|
|
2023-11-04 13:57:42 +00:00
|
|
|
const { httpResponse, errorWhileRendering, is404 } = pageContext
|
2023-08-17 18:03:09 +00:00
|
|
|
|
2023-11-04 13:57:42 +00:00
|
|
|
if (errorWhileRendering && !is404) {
|
|
|
|
console.error(errorWhileRendering)
|
|
|
|
res.statusCode = 500
|
|
|
|
res.end()
|
|
|
|
return
|
|
|
|
}
|
2023-02-17 09:21:02 +00:00
|
|
|
|
|
|
|
if (!httpResponse) {
|
|
|
|
res.statusCode = 200
|
|
|
|
res.end()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2023-11-13 18:32:23 +00:00
|
|
|
const { body, statusCode, headers } = httpResponse
|
|
|
|
|
2023-02-17 09:21:02 +00:00
|
|
|
res.statusCode = statusCode
|
2023-11-13 20:08:58 +00:00
|
|
|
|
|
|
|
// headers.forEach(([name, value]) => res.setHeader(name, value))
|
2023-11-13 18:15:38 +00:00
|
|
|
res.setHeader('Cache-Control', 's-maxage=1, stale-while-revalidate')
|
2023-02-17 09:21:02 +00:00
|
|
|
res.end(body)
|
|
|
|
}
|