aboutsummaryrefslogtreecommitdiff
path: root/src/server/index.ts
diff options
context:
space:
mode:
authorAndy Rickert <andrew_rickert@brown.edu>2020-04-29 16:23:30 -0700
committerAndy Rickert <andrew_rickert@brown.edu>2020-04-29 16:23:30 -0700
commitddf0902be470f6557695627fc65103c2d10e42f7 (patch)
tree38311ac28f3f253462b9f867220fdee732f7a336 /src/server/index.ts
parent9aab1f5e7dc7438dfa8a93afe03bd5746315c994 (diff)
parentdadbb74ffa56a0dc55745ce972e7b13925629b7b (diff)
merge w master
Diffstat (limited to 'src/server/index.ts')
-rw-r--r--src/server/index.ts10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/server/index.ts b/src/server/index.ts
index 8b040c926..f26c8a6ab 100644
--- a/src/server/index.ts
+++ b/src/server/index.ts
@@ -106,12 +106,17 @@ function routeSetter({ isRelease, addSupervisedRoute, logRegistrationOutcome }:
method: Method.GET,
subscription: ["/home", new RouteSubscriber("doc").add("docId")],
secureHandler: serve,
- publicHandler: ({ req, ...remaining }) => {
+ publicHandler: ({ req, res, ...remaining }) => {
const { originalUrl: target } = req;
const sharing = qs.parse(qs.extract(req.originalUrl), { sort: false }).sharing === "true";
const docAccess = target.startsWith("/doc/");
+ // since this is the public handler, there's no meaning of '/home' to speak of
+ // since there's no user logged in, so the only viable operation
+ // for a guest is to look at a shared document
if (sharing && docAccess) {
- serve({ req, ...remaining });
+ serve({ req, res, ...remaining });
+ } else {
+ res.redirect("/login");
}
}
});
@@ -148,5 +153,6 @@ export async function launchServer() {
if (process.env.RELEASE) {
(sessionAgent = new DashSessionAgent()).launch();
} else {
+ (Database.Instance as Database.Database).doConnect();
launchServer();
}