UNPKG

nuxt-multi-cache

Version:

SSR route, component and data cache for Nuxt.js

27 lines (26 loc) 837 B
import { format } from "@tusbar/cache-control"; import { setResponseHeader } from "h3"; import { getMultiCacheCDNHelper, onlyUnique } from "../../helpers/server.js"; import { useMultiCacheApp } from "../utils/useMultiCacheApp.js"; function handleCDN(app, event) { const cdnHelper = getMultiCacheCDNHelper(event); if (!cdnHelper) { return; } const cacheTagsValue = cdnHelper._tags.filter(onlyUnique).join(" "); if (cacheTagsValue) { setResponseHeader(event, app.config.cdn.cacheTagHeader, cacheTagsValue); } const cacheControlValue = format(cdnHelper._control); if (cacheControlValue) { setResponseHeader( event, app.config.cdn.cacheControlHeader, cacheControlValue ); } } export function onBeforeResponse(event, response) { const app = useMultiCacheApp(); handleCDN(app, event); }