feat: init
This commit is contained in:
1
node_modules/nitropack/dist/presets/vercel/runtime/consts.d.ts
generated
vendored
Normal file
1
node_modules/nitropack/dist/presets/vercel/runtime/consts.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export declare const ISR_URL_PARAM = "__isr_route";
|
||||
1
node_modules/nitropack/dist/presets/vercel/runtime/consts.mjs
generated
vendored
Normal file
1
node_modules/nitropack/dist/presets/vercel/runtime/consts.mjs
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export const ISR_URL_PARAM = "__isr_route";
|
||||
2
node_modules/nitropack/dist/presets/vercel/runtime/vercel-edge.d.ts
generated
vendored
Normal file
2
node_modules/nitropack/dist/presets/vercel/runtime/vercel-edge.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import "#nitro-internal-pollyfills";
|
||||
export default function handleEvent(request: Request, event: any): Promise<any>;
|
||||
24
node_modules/nitropack/dist/presets/vercel/runtime/vercel-edge.mjs
generated
vendored
Normal file
24
node_modules/nitropack/dist/presets/vercel/runtime/vercel-edge.mjs
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
import "#nitro-internal-pollyfills";
|
||||
import { useNitroApp } from "nitropack/runtime";
|
||||
const nitroApp = useNitroApp();
|
||||
export default async function handleEvent(request, event) {
|
||||
const url = new URL(request.url);
|
||||
let body;
|
||||
if (request.body) {
|
||||
body = await request.arrayBuffer();
|
||||
}
|
||||
return nitroApp.localFetch(url.pathname + url.search, {
|
||||
host: url.hostname,
|
||||
protocol: url.protocol,
|
||||
headers: request.headers,
|
||||
method: request.method,
|
||||
body,
|
||||
context: {
|
||||
_platform: {
|
||||
vercel: {
|
||||
event
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
4
node_modules/nitropack/dist/presets/vercel/runtime/vercel.d.ts
generated
vendored
Normal file
4
node_modules/nitropack/dist/presets/vercel/runtime/vercel.d.ts
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
import "#nitro-internal-pollyfills";
|
||||
import { type NodeListener } from "h3";
|
||||
declare const listener: NodeListener;
|
||||
export default listener;
|
||||
36
node_modules/nitropack/dist/presets/vercel/runtime/vercel.mjs
generated
vendored
Normal file
36
node_modules/nitropack/dist/presets/vercel/runtime/vercel.mjs
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
import "#nitro-internal-pollyfills";
|
||||
import { useNitroApp } from "nitropack/runtime";
|
||||
import { getRouteRulesForPath } from "nitropack/runtime/internal/index";
|
||||
import { toNodeListener } from "h3";
|
||||
import { parseQuery, withQuery } from "ufo";
|
||||
import { ISR_URL_PARAM } from "./consts.mjs";
|
||||
const nitroApp = useNitroApp();
|
||||
const handler = toNodeListener(nitroApp.h3App);
|
||||
const listener = function(req, res) {
|
||||
const isrRoute = req.headers["x-now-route-matches"];
|
||||
if (isrRoute) {
|
||||
const { [ISR_URL_PARAM]: url } = parseQuery(isrRoute);
|
||||
if (url && typeof url === "string") {
|
||||
const routeRules = getRouteRulesForPath(url);
|
||||
if (routeRules.isr) {
|
||||
req.url = url;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
const queryIndex = req.url.indexOf("?");
|
||||
const urlQueryIndex = queryIndex === -1 ? -1 : req.url.indexOf(`${ISR_URL_PARAM}=`, queryIndex);
|
||||
if (urlQueryIndex !== -1) {
|
||||
const { [ISR_URL_PARAM]: url, ...params } = parseQuery(
|
||||
req.url.slice(queryIndex)
|
||||
);
|
||||
if (url && typeof url === "string") {
|
||||
const routeRules = getRouteRulesForPath(url);
|
||||
if (routeRules.isr) {
|
||||
req.url = withQuery(url, params);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return handler(req, res);
|
||||
};
|
||||
export default listener;
|
||||
Reference in New Issue
Block a user