From 178e87239ed07450163b2183eabf1a2e70ab8358 Mon Sep 17 00:00:00 2001 From: Brian DeRocher Date: Tue, 3 Dec 2024 20:40:16 -0500 Subject: [PATCH] Parse body. --- server.js | 62 ++++++++++++++++++++++------------------- src/views/LoginView.vue | 4 +++ 2 files changed, 37 insertions(+), 29 deletions(-) diff --git a/server.js b/server.js index 28fd13b..8b9ab7f 100644 --- a/server.js +++ b/server.js @@ -36,42 +36,46 @@ const stickers = { const requestListener = function (req, res) { res.setHeader("Content-Type", "application/json"); const urlParts = req.url.split("/"); + console.log(urlParts); let body = ''; req.on('data', chunk => { body += chunk.toString(); }); req.on('end', () => { + if (body) { + body = JSON.parse(body); + } console.log('body', body); + switch (urlParts[1]) { + case "login": + res.writeHead(200); + res.end(JSON.stringify(users[body["username"]])); + break; + case "sticker": + if (!(urlParts[2] in stickers)) { + res.writeHead(404); + res.end('not found') + break; + } + res.writeHead(200); + const sticker = stickers[urlParts[2]]; + const response = JSON.stringify(sticker); + res.end(response); + break; + case "user": + if (!(urlParts[2] in users)) { + res.writeHead(404); + res.end('not found') + break; + } + res.writeHead(200); + res.end(JSON.stringify(users[urlParts[2]])); + break; + default: + res.writeHead(200); + res.end(JSON.stringify({nothing: 'here'})); + } }); - console.log(urlParts); - switch (urlParts[1]) { - case "login": - res.writeHead(200); - break; - case "sticker": - if (!(urlParts[2] in stickers)) { - res.writeHead(404); - res.end('not found') - break; - } - res.writeHead(200); - const sticker = stickers[urlParts[2]]; - const response = JSON.stringify(sticker); - res.end(response); - break; - case "user": - if (!(urlParts[2] in users)) { - res.writeHead(404); - res.end('not found') - break; - } - res.writeHead(200); - res.end(JSON.stringify(users[urlParts[2]])); - break; - default: - res.writeHead(200); - res.end(JSON.stringify({nothing: 'here'})); - } }; const server = http.createServer(requestListener); diff --git a/src/views/LoginView.vue b/src/views/LoginView.vue index a7e518d..9bc493c 100644 --- a/src/views/LoginView.vue +++ b/src/views/LoginView.vue @@ -21,10 +21,14 @@ const next = route.query.next; function handleLogin({ valid }) { if (!valid) { + console.log('Input is not valid.') return; } sessionStore.login(username.value, username.value).then(() => { + console.log(`go to ${next}`) router.push(next); + }).catch((error) => { + console.log(error); }); }