diff options
author | 2022-04-19 11:22:15 -0400 | |
---|---|---|
committer | 2022-04-19 11:22:15 -0400 | |
commit | 4cf54c60aa63bd614b242da0602790015005673d (patch) | |
tree | 25fcec1da64890044742a1090b1773076a0d43e9 /packages/integrations/netlify/src/netlify-edge-functions.ts | |
parent | c35e94f5443d4ade07ff787d39b042eb3b9004fb (diff) | |
download | astro-4cf54c60aa63bd614b242da0602790015005673d.tar.gz astro-4cf54c60aa63bd614b242da0602790015005673d.tar.zst astro-4cf54c60aa63bd614b242da0602790015005673d.zip |
Netlify Edge function support (#3148)
* Netlify Edge function support
* Update readme with edge function information
* Adds a changeset
* Disable running edge function test in CI for now
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 }; +} |