diff options
Diffstat (limited to 'packages/integrations/node/src/middleware.ts')
-rw-r--r-- | packages/integrations/node/src/middleware.ts | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/packages/integrations/node/src/middleware.ts b/packages/integrations/node/src/middleware.ts deleted file mode 100644 index 5cc4c4a46..000000000 --- a/packages/integrations/node/src/middleware.ts +++ /dev/null @@ -1,41 +0,0 @@ -import type { NodeApp } from 'astro/app/node'; -import { createAppHandler } from './serve-app.js'; -import type { RequestHandler } from './types.js'; - -/** - * Creates a middleware that can be used with Express, Connect, etc. - * - * Similar to `createAppHandler` but can additionally be placed in the express - * chain as an error middleware. - * - * https://expressjs.com/en/guide/using-middleware.html#middleware.error-handling - */ -export default function createMiddleware(app: NodeApp): RequestHandler { - const handler = createAppHandler(app); - const logger = app.getAdapterLogger(); - // using spread args because express trips up if the function's - // stringified body includes req, res, next, locals directly - return async function (...args) { - // assume normal invocation at first - const [req, res, next, locals] = args; - // short circuit if it is an error invocation - if (req instanceof Error) { - const error = req; - if (next) { - return next(error); - } else { - throw error; - } - } - try { - await handler(req, res, next, locals); - } catch (err) { - logger.error(`Could not render ${req.url}`); - console.error(err); - if (!res.headersSent) { - res.writeHead(500, `Server error`); - res.end(); - } - } - }; -} |