aboutsummaryrefslogtreecommitdiff
path: root/src/server/RouteManager.ts
diff options
context:
space:
mode:
authorSam Wilkins <35748010+samwilkins333@users.noreply.github.com>2019-10-17 04:19:02 -0400
committerSam Wilkins <35748010+samwilkins333@users.noreply.github.com>2019-10-17 04:19:02 -0400
commit8884e5cf68c3ad34e23a539201fddda169d70262 (patch)
treebfc0af5ec4d271f8c1850d734224dc570d823dc0 /src/server/RouteManager.ts
parentdf7ed1e41472909e802116adaa285281ec7588ee (diff)
tweak timeout for fallback response
Diffstat (limited to 'src/server/RouteManager.ts')
-rw-r--r--src/server/RouteManager.ts21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/server/RouteManager.ts b/src/server/RouteManager.ts
index 54f9cc460..37eaded0d 100644
--- a/src/server/RouteManager.ts
+++ b/src/server/RouteManager.ts
@@ -55,10 +55,9 @@ export default class RouteManager {
let supervised = async (req: express.Request, res: express.Response) => {
const { user, originalUrl: target } = req;
const core = { req, res, isRelease };
- const tryExecute = async <T>(target: (args: any) => T | Promise<T>, args: any) => {
+ const tryExecute = async (target: (args: any) => any | Promise<any>, args: any) => {
try {
- const result = await target(args);
- return result;
+ await target(args);
} catch (e) {
if (onError) {
onError({ ...core, error: e });
@@ -71,16 +70,18 @@ export default class RouteManager {
await tryExecute(onValidation, { ...core, user: user as any });
} else {
req.session!.target = target;
- if (!onUnauthenticated) {
- res.redirect(RouteStore.login);
- } else {
+ if (onUnauthenticated) {
await tryExecute(onUnauthenticated, core);
+ } else {
+ res.redirect(RouteStore.login);
}
}
- const warning = `request to ${target} fell through - this is a fallback response`;
- if (!res.headersSent) {
- res.send({ warning });
- }
+ setTimeout(() => {
+ if (!res.headersSent) {
+ const warning = `request to ${target} fell through - this is a fallback response`;
+ res.send({ warning });
+ }
+ }, 1000);
};
const subscribe = (subscriber: RouteSubscriber | string) => {
let route: string;