summaryrefslogtreecommitdiff
path: root/packages/integrations/node/src/nodeMiddleware.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/node/src/nodeMiddleware.ts')
-rw-r--r--packages/integrations/node/src/nodeMiddleware.ts17
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);