diff options
author | 2023-08-22 14:02:15 +0100 | |
---|---|---|
committer | 2023-08-22 14:02:15 +0100 | |
commit | 2d50d50b6aecec42fcae9adfa1d9d70924de70a8 (patch) | |
tree | 8813bb680299c8f005ea0c73d54580c5fbc8022c /packages/integrations/node/src/nodeMiddleware.ts | |
parent | ad245897f60517aa20ca593f21f1f6e9724adb17 (diff) | |
parent | f224c539c880add0490b442b4429bdf73b58f6ff (diff) | |
download | astro-2d50d50b6aecec42fcae9adfa1d9d70924de70a8.tar.gz astro-2d50d50b6aecec42fcae9adfa1d9d70924de70a8.tar.zst astro-2d50d50b6aecec42fcae9adfa1d9d70924de70a8.zip |
Merge remote-tracking branch 'origin/main' into next
Diffstat (limited to 'packages/integrations/node/src/nodeMiddleware.ts')
-rw-r--r-- | packages/integrations/node/src/nodeMiddleware.ts | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/packages/integrations/node/src/nodeMiddleware.ts b/packages/integrations/node/src/nodeMiddleware.ts index fa0cdfda8..1e0aaea0f 100644 --- a/packages/integrations/node/src/nodeMiddleware.ts +++ b/packages/integrations/node/src/nodeMiddleware.ts @@ -6,15 +6,22 @@ import { responseIterator } from './response-iterator'; import type { ErrorHandlerParams, Options, RequestHandlerParams } from './types'; // Disable no-unused-vars to avoid breaking signature change -// eslint-disable-next-line @typescript-eslint/no-unused-vars -export default function (app: NodeApp, _mode: Options['mode']) { +export default function (app: NodeApp, mode: Options['mode']) { return async function (...args: RequestHandlerParams | ErrorHandlerParams) { let error = null; - let [req, res, next, locals] = args as RequestHandlerParams; + let locals; + let [req, res, next] = args as RequestHandlerParams; + if (mode === 'middleware') { + let { [3]: _locals } = args; + locals = _locals; + } if (args[0] instanceof Error) { - [error, req, res, next, locals] = args as ErrorHandlerParams; - + [error, req, res, next] = args as ErrorHandlerParams; + if (mode === 'middleware') { + let { [4]: _locals } = args as ErrorHandlerParams; + locals = _locals; + } if (error) { if (next) { return next(error); |