diff options
author | 2022-07-22 16:30:17 -0400 | |
---|---|---|
committer | 2022-07-22 16:30:17 -0400 | |
commit | 0cc6ede362996b9faba57481a790d6eb7fba2045 (patch) | |
tree | b2f5894c8adb2e28adf6e2fcd8ee3a46bad6b189 /packages/integrations/netlify/src | |
parent | 4392083ccad7f94083f99a37370fa2d01cffba80 (diff) | |
download | astro-0cc6ede362996b9faba57481a790d6eb7fba2045.tar.gz astro-0cc6ede362996b9faba57481a790d6eb7fba2045.tar.zst astro-0cc6ede362996b9faba57481a790d6eb7fba2045.zip |
SSR 404 and 500 routes in adapters (#4018)
* fix(WIP): SSR 404 and 500 routes
* Implement the feature
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Diffstat (limited to 'packages/integrations/netlify/src')
-rw-r--r-- | packages/integrations/netlify/src/netlify-functions.ts | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/packages/integrations/netlify/src/netlify-functions.ts b/packages/integrations/netlify/src/netlify-functions.ts index 0363fb803..d40254f96 100644 --- a/packages/integrations/netlify/src/netlify-functions.ts +++ b/packages/integrations/netlify/src/netlify-functions.ts @@ -66,7 +66,9 @@ export const createExports = (manifest: SSRManifest, args: Args) => { } const request = new Request(rawUrl, init); - if (!app.match(request)) { + let routeData = app.match(request, { matchNotFound: true }); + + if (!routeData) { return { statusCode: 404, body: 'Not found', @@ -76,7 +78,7 @@ export const createExports = (manifest: SSRManifest, args: Args) => { const ip = headers['x-nf-client-connection-ip']; Reflect.set(request, clientAddressSymbol, ip); - const response: Response = await app.render(request); + const response: Response = await app.render(request, routeData); const responseHeaders = Object.fromEntries(response.headers.entries()); const responseContentType = parseContentType(responseHeaders['content-type']); |