diff options
author | Sam Wilkins <samwilkins333@gmail.com> | 2019-12-02 12:12:58 -0500 |
---|---|---|
committer | Sam Wilkins <samwilkins333@gmail.com> | 2019-12-02 12:12:58 -0500 |
commit | 77ee66de66a411f79bbbc036d379d09be38d172f (patch) | |
tree | ddb0936a3adbe6821d44906d46ac9cd0182b4d15 /src/server/RouteManager.ts | |
parent | ee1ac7b8c9550cc842e91985c1a92d79ce0e5235 (diff) |
further cleanup
Diffstat (limited to 'src/server/RouteManager.ts')
-rw-r--r-- | src/server/RouteManager.ts | 14 |
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); |