diff options
author | 2022-07-22 15:22:31 -0400 | |
---|---|---|
committer | 2022-07-22 15:22:31 -0400 | |
commit | 4ca6a0933d92dd559327dd46a28712d918caebf7 (patch) | |
tree | 27ca6be8c801b815961bb54264cf9dec1eb38a93 /packages/integrations/node/src | |
parent | 9aecf7c7c7211f34236d8dde624ca388310d3727 (diff) | |
download | astro-4ca6a0933d92dd559327dd46a28712d918caebf7.tar.gz astro-4ca6a0933d92dd559327dd46a28712d918caebf7.tar.zst astro-4ca6a0933d92dd559327dd46a28712d918caebf7.zip |
Fixes Node adapter receiving a request body (#4023)
* Fixes Node adapter receiving a request body
* Updated lockfile
Diffstat (limited to 'packages/integrations/node/src')
-rw-r--r-- | packages/integrations/node/src/server.ts | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/packages/integrations/node/src/server.ts b/packages/integrations/node/src/server.ts index c07b5a91b..453ecb2d2 100644 --- a/packages/integrations/node/src/server.ts +++ b/packages/integrations/node/src/server.ts @@ -12,21 +12,28 @@ export function createExports(manifest: SSRManifest) { const app = new NodeApp(manifest); return { async handler(req: IncomingMessage, res: ServerResponse, next?: (err?: unknown) => void) { - const route = app.match(req); + try { + const route = app.match(req); - if (route) { - try { - const response = await app.render(req); - await writeWebResponse(res, response); - } catch (err: unknown) { - if (next) { - next(err); - } else { - throw err; + if (route) { + try { + const response = await app.render(req); + await writeWebResponse(res, response); + } catch (err: unknown) { + if (next) { + next(err); + } else { + throw err; + } } + } else if (next) { + return next(); + } + } catch(err: unknown) { + if(!res.headersSent) { + res.writeHead(500, `Server error`); + res.end(); } - } else if (next) { - return next(); } }, }; |