Skip to content

Commit 86a1140

Browse files
committed
Register named functions in express
1 parent 4a56d17 commit 86a1140

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

src/driver/express/ExpressDriver.ts

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,18 +53,18 @@ export class ExpressDriver extends BaseDriver {
5353
* Registers middleware that run before controller actions.
5454
*/
5555
registerMiddleware(middleware: MiddlewareMetadata): void {
56+
let middlewareWrapper;
5657

5758
// if its an error handler then register it with proper signature in express
5859
if ((middleware.instance as ExpressErrorMiddlewareInterface).error) {
59-
this.express.use(function (error: any, request: any, response: any, next: (err?: any) => any) {
60+
middlewareWrapper = (error: any, request: any, response: any, next: (err?: any) => any) => {
6061
(middleware.instance as ExpressErrorMiddlewareInterface).error(error, request, response, next);
61-
});
62-
return;
62+
};
6363
}
6464

6565
// if its a regular middleware then register it as express middleware
66-
if ((middleware.instance as ExpressMiddlewareInterface).use) {
67-
this.express.use((request: any, response: any, next: (err: any) => any) => {
66+
else if ((middleware.instance as ExpressMiddlewareInterface).use) {
67+
middlewareWrapper = (request: any, response: any, next: (err: any) => any) => {
6868
try {
6969
const useResult = (middleware.instance as ExpressMiddlewareInterface).use(request, response, next);
7070
if (isPromiseLike(useResult)) {
@@ -77,7 +77,17 @@ export class ExpressDriver extends BaseDriver {
7777
} catch (error) {
7878
this.handleError(error, undefined, {request, response, next});
7979
}
80+
};
81+
}
82+
83+
if (middlewareWrapper) {
84+
// Name the function for better debugging
85+
Object.defineProperty(middlewareWrapper, "name", {
86+
value: middleware.instance.constructor.name,
87+
writable: true
8088
});
89+
90+
this.express.use(middlewareWrapper);
8191
}
8292
}
8393

0 commit comments

Comments
 (0)