@nuxt/content
Version:
Write your content inside your Nuxt app
15 lines (14 loc) • 769 B
JavaScript
import { eventHandler, getRouterParam, setHeader } from "h3";
import { useStorage } from "nitropack/runtime";
export default eventHandler(async (event) => {
const collection = getRouterParam(event, "collection") || event.path?.split("/")?.[2] || "";
setHeader(event, "Content-Type", "text/plain");
const ASSETS = event?.context?.cloudflare?.env.ASSETS || process.env.ASSETS;
if (ASSETS) {
const config = event?.context?.nitro?.runtimeConfig;
const url = new URL(event.context.cloudflare?.request?.url || "http://localhost");
url.pathname = `${config?.app?.baseURL || "/"}dump.${collection}.sql`;
return await ASSETS.fetch(url).then((r) => r.text());
}
return await useStorage().getItem(`build:content:raw:dump.${collection}.sql`) || "";
});