diff options
author | Bob Zeleznik <zzzman@gmail.com> | 2020-04-28 17:32:59 -0400 |
---|---|---|
committer | Bob Zeleznik <zzzman@gmail.com> | 2020-04-28 17:32:59 -0400 |
commit | d020ab540abaf279414aa682c8930a4b280ace55 (patch) | |
tree | 2cab1b330659a97664af86e34f52d2d1b0ed49e1 /src/server/RouteManager.ts | |
parent | 4ecf08b5c5cdc4ddb3a997e2f3a2188e921ff430 (diff) | |
parent | 6b2896756c55727ed397c223187cb03fe8a51a59 (diff) |
merged with master
Diffstat (limited to 'src/server/RouteManager.ts')
-rw-r--r-- | src/server/RouteManager.ts | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/server/RouteManager.ts b/src/server/RouteManager.ts index 63e957cd1..80e4a6741 100644 --- a/src/server/RouteManager.ts +++ b/src/server/RouteManager.ts @@ -78,6 +78,7 @@ export default class RouteManager { } } + static routes: string[] = []; /** * * @param initializer @@ -85,6 +86,12 @@ export default class RouteManager { addSupervisedRoute = (initializer: RouteInitializer): void => { const { method, subscription, secureHandler, publicHandler, errorHandler } = initializer; + typeof (initializer.subscription) === "string" && RouteManager.routes.push(initializer.subscription); + initializer.subscription instanceof RouteSubscriber && RouteManager.routes.push(initializer.subscription.root); + initializer.subscription instanceof Array && initializer.subscription.map(sub => { + typeof (sub) === "string" && RouteManager.routes.push(sub); + sub instanceof RouteSubscriber && RouteManager.routes.push(sub.root); + }); const isRelease = this._isRelease; const supervised = async (req: Request, res: Response) => { let { user } = req; @@ -133,7 +140,7 @@ export default class RouteManager { } else { route = subscriber.build; } - if (!/^\/$|^\/[A-Za-z]+(\/\:[A-Za-z?_]+)*$/g.test(route)) { + if (!/^\/$|^\/[A-Za-z\*]+(\/\:[A-Za-z?_\*]+)*$/g.test(route)) { this.failedRegistrations.push({ reason: RegistrationError.Malformed, route |