Skip to content

Commit 7c517af

Browse files
authored
fix: use route prefix when registering middlewares (#931)
1 parent d43bf9a commit 7c517af

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

src/RoutingControllers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ export class RoutingControllers<T extends BaseDriver> {
9595
.buildMiddlewareMetadata(classes)
9696
.filter(middleware => middleware.global && middleware.type === type)
9797
.sort((middleware1, middleware2) => middleware2.priority - middleware1.priority)
98-
.forEach(middleware => this.driver.registerMiddleware(middleware));
98+
.forEach(middleware => this.driver.registerMiddleware(middleware, this.options));
9999

100100
return this;
101101
}

src/driver/BaseDriver.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { ActionMetadata } from '../metadata/ActionMetadata';
88
import { ParamMetadata } from '../metadata/ParamMetadata';
99
import { MiddlewareMetadata } from '../metadata/MiddlewareMetadata';
1010
import { Action } from '../Action';
11+
import { RoutingControllersOptions } from '../RoutingControllersOptions';
1112

1213
/**
1314
* Base driver functionality for all other drivers.
@@ -180,7 +181,7 @@ export abstract class BaseDriver {
180181
/**
181182
* Registers given middleware.
182183
*/
183-
abstract registerMiddleware(middleware: MiddlewareMetadata): void;
184+
abstract registerMiddleware(middleware: MiddlewareMetadata, options: RoutingControllersOptions): void;
184185

185186
/**
186187
* Registers action in the driver.

src/driver/express/ExpressDriver.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import { AuthorizationCheckerNotDefinedError } from '../../error/AuthorizationCh
1111
import { isPromiseLike } from '../../util/isPromiseLike';
1212
import { getFromContainer } from '../../container';
1313
import { AuthorizationRequiredError } from '../../error/AuthorizationRequiredError';
14-
import { NotFoundError } from '../../index';
14+
import { NotFoundError, RoutingControllersOptions } from '../../index';
1515

1616
// eslint-disable-next-line @typescript-eslint/no-var-requires
1717
const cookie = require('cookie');
@@ -54,7 +54,7 @@ export class ExpressDriver extends BaseDriver {
5454
/**
5555
* Registers middleware that run before controller actions.
5656
*/
57-
registerMiddleware(middleware: MiddlewareMetadata): void {
57+
registerMiddleware(middleware: MiddlewareMetadata, options: RoutingControllersOptions): void {
5858
let middlewareWrapper;
5959

6060
// if its an error handler then register it with proper signature in express
@@ -88,7 +88,7 @@ export class ExpressDriver extends BaseDriver {
8888
writable: true,
8989
});
9090

91-
this.express.use(middlewareWrapper);
91+
this.express.use(options.routePrefix || '/', middlewareWrapper);
9292
}
9393
}
9494

0 commit comments

Comments
 (0)