diff options
Diffstat (limited to 'packages/integrations/netlify/src/netlify-edge-functions.ts')
-rw-r--r-- | packages/integrations/netlify/src/netlify-edge-functions.ts | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/packages/integrations/netlify/src/netlify-edge-functions.ts b/packages/integrations/netlify/src/netlify-edge-functions.ts new file mode 100644 index 000000000..f7000442c --- /dev/null +++ b/packages/integrations/netlify/src/netlify-edge-functions.ts @@ -0,0 +1,20 @@ +import './edge-shim.js'; +import { SSRManifest } from 'astro'; +import { App } from 'astro/app'; + +export function createExports(manifest: SSRManifest) { + const app = new App(manifest); + + const handler = async (request: Request): Promise<Response> => { + if(app.match(request)) { + return app.render(request); + } + + return new Response(null, { + status: 404, + statusText: 'Not found' + }); + }; + + return { 'default': handler }; +} |