diff options
author | 2024-01-17 13:11:46 +0000 | |
---|---|---|
committer | 2024-01-17 13:11:46 +0000 | |
commit | 73380661c2fece72694e10c49571a4a8e38c2b94 (patch) | |
tree | 088eced2a3add70cbf4d109ba8974868d8c83ab3 /packages/integrations/node/src/middleware.ts | |
parent | f61248895b8b7007c1fd5dccbd550f2d123f2da2 (diff) | |
download | astro-73380661c2fece72694e10c49571a4a8e38c2b94.tar.gz astro-73380661c2fece72694e10c49571a4a8e38c2b94.tar.zst astro-73380661c2fece72694e10c49571a4a8e38c2b94.zip |
[ci] format
Diffstat (limited to 'packages/integrations/node/src/middleware.ts')
-rw-r--r-- | packages/integrations/node/src/middleware.ts | 46 |
1 files changed, 22 insertions, 24 deletions
diff --git a/packages/integrations/node/src/middleware.ts b/packages/integrations/node/src/middleware.ts index a936dc5bc..6b6c2afee 100644 --- a/packages/integrations/node/src/middleware.ts +++ b/packages/integrations/node/src/middleware.ts @@ -1,34 +1,32 @@ import { createAppHandler } from './serve-app.js'; -import type { RequestHandler } from "./types.js"; -import type { NodeApp } from "astro/app/node"; +import type { RequestHandler } from './types.js'; +import type { NodeApp } from 'astro/app/node'; /** * 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; - } - } +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) { @@ -39,5 +37,5 @@ export default function createMiddleware( res.end(); } } - } + }; } |