aboutsummaryrefslogtreecommitdiff
path: root/src/server/RouteManager.ts
diff options
context:
space:
mode:
authorBob Zeleznik <zzzman@gmail.com>2020-04-08 20:56:47 -0400
committerBob Zeleznik <zzzman@gmail.com>2020-04-08 20:56:47 -0400
commit051aefd6455ccda271377913a486e923aef40efd (patch)
treef33e1a52b72bf066e93415a12f47ed74a62f5b4a /src/server/RouteManager.ts
parent9a795d09127d10f23e3992f899265fd227e49af4 (diff)
parentb21db9d40c1619df5455ba8ffe3ef76913cc92de (diff)
Merge branch 'master' into script_documents
Diffstat (limited to 'src/server/RouteManager.ts')
-rw-r--r--src/server/RouteManager.ts9
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