something new

This commit is contained in:
Igor Lobanov 2023-11-13 21:57:04 +01:00
parent 446ac598c5
commit cf0ec8dcca
3 changed files with 34 additions and 5 deletions

32
api/edge-ssr.mjs Normal file
View File

@ -0,0 +1,32 @@
import { renderPage } from 'vike/server'
export const config = {
runtime: 'edge'
}
export default async function handler(request) {
const { url, cookies } = request
const pageContext = await renderPage({ urlOriginal: url, cookies })
const { httpResponse, errorWhileRendering, is404 } = pageContext
if (errorWhileRendering && !is404) {
console.error(errorWhileRendering)
return new Response('', { status: 500 })
}
if (!httpResponse) {
return new Response()
}
const { body, statusCode, headers: headersArray } = httpResponse
const headers = headersArray.reduce((acc, [name, value]) => {
acc[name] = value
return acc
}, {})
headers['Cache-Control'] = 's-maxage=1, stale-while-revalidate'
return new Response(body, { status: statusCode, headers })
}

View File

@ -1,8 +1,5 @@
import { renderPage } from 'vike/server'
export const config = {
runtime: 'edge'
}
export default async function handler(req, res) {
const { url, cookies } = req
@ -27,7 +24,7 @@ export default async function handler(req, res) {
res.statusCode = statusCode
// headers.forEach(([name, value]) => res.setHeader(name, value))
headers.forEach(([name, value]) => res.setHeader(name, value))
res.setHeader('Cache-Control', 's-maxage=1, stale-while-revalidate')
res.end(body)
}

View File

@ -2,7 +2,7 @@
"rewrites": [
{
"source": "/((?!assets/).*)",
"destination": "/api/ssr.mjs"
"destination": "/api/edge-ssr.mjs"
}
]
}