import { createNextApiHandler } from "@trpc/server/adapters/next"
import { appRouter, createContext } from "server"
const ONE_DAY = 60 * 60 * 24
export default createNextApiHandler({
router: appRouter,
createContext,
onError({ error }) {
console.error(error)
},
batching: { enabled: true },
responseMeta({ ctx, errors, paths, type }) {
const allPublic = paths && paths.every(path => path.includes("!"))
const noErr = errors.length === 0
const isQuery = type === "query"
if (ctx?.res && allPublic && noErr && isQuery) {
// Cache request for 1 day + revalidate once every second
return {
headers: {
"Cache-Control": `s-maxage=1, stale-while-revalidate=${ONE_DAY}`,
},
}
}
return {}
},
})
import { createNextApiHandler } from "@trpc/server/adapters/next"
import { appRouter, createContext } from "server"
const ONE_DAY = 60 * 60 * 24
export default createNextApiHandler({
router: appRouter,
createContext,
onError({ error }) {
console.error(error)
},
batching: { enabled: true },
responseMeta({ ctx, errors, paths, type }) {
const allPublic = paths && paths.every(path => path.includes("!"))
const noErr = errors.length === 0
const isQuery = type === "query"
if (ctx?.res && allPublic && noErr && isQuery) {
// Cache request for 1 day + revalidate once every second
return {
headers: {
"Cache-Control": `s-maxage=1, stale-while-revalidate=${ONE_DAY}`,
},
}
}
return {}
},
})