26 lines
781 B
JavaScript
26 lines
781 B
JavaScript
import "#nitro-internal-pollyfills";
|
|
import { useNitroApp } from "nitropack/runtime";
|
|
import { isPublicAssetURL } from "#nitro-internal-virtual/public-assets";
|
|
const nitroApp = useNitroApp();
|
|
export default async function netlifyEdge(request, _context) {
|
|
const url = new URL(request.url);
|
|
if (isPublicAssetURL(url.pathname)) {
|
|
return;
|
|
}
|
|
if (!request.headers.has("x-forwarded-proto") && url.protocol === "https:") {
|
|
request.headers.set("x-forwarded-proto", "https");
|
|
}
|
|
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,
|
|
redirect: request.redirect,
|
|
body
|
|
});
|
|
}
|