nitropack
Version:
Build and Deploy Universal JavaScript Servers
22 lines (21 loc) • 940 B
JavaScript
import "#internal/nitro/virtual/polyfill";
import { withQuery } from "ufo";
import { getRouteRulesForPath } from "../route-rules.mjs";
import { lambda } from "./netlify-lambda.mjs";
export const handler = async function handler2(event, context) {
const query = {
...event.queryStringParameters,
...event.multiValueQueryStringParameters
};
const url = withQuery(event.path, query);
const routeRules = getRouteRulesForPath(url);
if (routeRules.cache && (routeRules.cache.swr || routeRules.cache.static)) {
const builder = await import("@netlify/functions").then(
(r) => r.builder || r.default.builder
);
const ttl = typeof routeRules.cache.swr === "number" ? routeRules.cache.swr : 60;
const swrHandler = routeRules.cache.swr ? (event2, context2) => lambda(event2, context2).then((r) => ({ ...r, ttl })) : lambda;
return builder(swrHandler)(event, context);
}
return lambda(event, context);
};