From 8e77d24ecee4f232dadf9a5887bc0bd7fa87c9a9 Mon Sep 17 00:00:00 2001 From: Lloyd Hilaiel <lloyd@hilaiel.com> Date: Tue, 3 May 2011 10:52:35 -0600 Subject: [PATCH] make primary robust to database purges (cookie flush) --- primary/server/wsapi.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/primary/server/wsapi.js b/primary/server/wsapi.js index f567d84b3..c16c187da 100644 --- a/primary/server/wsapi.js +++ b/primary/server/wsapi.js @@ -26,7 +26,7 @@ function checkParams(getArgs, resp, params) { function isAuthed(req) { return (req.session && typeof req.session.userid === 'number'); } - + function checkAuthed(req, resp) { if (!isAuthed(req)) { httputils.badRequest(resp, "requires authentication"); @@ -60,7 +60,7 @@ exports.create_user = function(req, resp) { db.create_user(getArgs["username"], getArgs["pass"], function(error) { if (error) { logRequest("create_user", error); - httputils.jsonResponse(resp, undefined); + httputils.jsonResponse(resp, undefined); } else { if (!req.session) req.session = {}; db.usernameToUserID(getArgs.username, function(userid) { @@ -132,8 +132,14 @@ exports.current_username = function(req,resp) { if (isAuthed(req)) { logRequest("current_username", "isAuthed"); db.userIDToUsername(req.session.userid, function(username) { - logRequest("current_username", username); - httputils.jsonResponse(resp, username); + if (username !== undefined) { + logRequest("current_username", username); + httputils.jsonResponse(resp, username); + } else { + logRequest("current_username", "userid doesn't exist: " + req.session.userid); + req.session.userid = undefined; + httputils.jsonResponse(resp, false); + } }); } else { logRequest("current_username", "notAuthed"); -- GitLab