aboutsummaryrefslogtreecommitdiff
path: root/src/server/RouteManager.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/RouteManager.ts')
-rw-r--r--src/server/RouteManager.ts14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/server/RouteManager.ts b/src/server/RouteManager.ts
index 3a20d5af5..7c49485f1 100644
--- a/src/server/RouteManager.ts
+++ b/src/server/RouteManager.ts
@@ -26,6 +26,8 @@ export interface RouteInitializer {
onError?: OnError;
}
+const registered = new Map<string, Set<Method>>();
+
export default class RouteManager {
private server: express.Express;
private _isRelease: boolean;
@@ -89,6 +91,18 @@ export default class RouteManager {
} else {
route = subscriber.build;
}
+ const existing = registered.get(route);
+ if (existing) {
+ if (existing.has(method)) {
+ console.log(ConsoleColors.Red, `\nDuplicate registration error: already registered ${route} with Method[${method}]`);
+ console.log('Please remove duplicate registrations before continuing...\n');
+ process.exit(0);
+ }
+ } else {
+ const specific = new Set<Method>();
+ specific.add(method);
+ registered.set(route, specific);
+ }
switch (method) {
case Method.GET:
this.server.get(route, supervised);