From a8d29c6775ca193a0df397eae7cc2c24878940e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20M=C3=BCller?= Date: Sun, 18 Oct 2015 09:54:12 +0200 Subject: [PATCH] refactoring for status messages --- resources/footer.html | 6 ++++++ resources/template.html | 10 +--------- server.js | 9 ++++++--- src/page.js | 13 +++++++++---- 4 files changed, 22 insertions(+), 16 deletions(-) create mode 100644 resources/footer.html diff --git a/resources/footer.html b/resources/footer.html new file mode 100644 index 0000000..b98b195 --- /dev/null +++ b/resources/footer.html @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/resources/template.html b/resources/template.html index c6c16b1..fad3326 100644 --- a/resources/template.html +++ b/resources/template.html @@ -10,14 +10,6 @@
%CONTENT%
- + %FOOTER% diff --git a/server.js b/server.js index cb2466e..22c1caa 100644 --- a/server.js +++ b/server.js @@ -30,10 +30,10 @@ app.post('/note', function (req, res) { password = md5(body.password); var goToNote = note => res.redirect("/" + note.id); if (session.indexOf(getTimeStamp()) != 0) - return res.status(400).send("Session expired"); + return sendResponse(res, 400, "Session expired"); var expectedSignature = md5(session + note.replace(/[\n\r]/g, "")); if (expectedSignature != body.signature) - return res.status(400).send("Signature mismatch"); + return sendResponse(res, 400, "Signature mismatch"); console.log(body) if (body.action == "POST") storage.addNote(note, password).then(goToNote); @@ -42,7 +42,7 @@ app.post('/note', function (req, res) { CACHE.del(note.id); goToNote(note); }, - error => res.status(403).send(error.message)) + error => sendResponse(res, 403, error.message)) }); app.get("/:year/:month/:day/:title", function (req, res) { @@ -73,6 +73,9 @@ app.get(/\/([a-z0-9]+)/, function (req, res) { }); }); +var sendResponse = (res, code, message) => + res.status(code).send(page.buildPage(message, "

" + message + "

", "")); + var server = app.listen(3000, function () { console.log('NoteHub server listening on port %s', server.address().port); }); diff --git a/src/page.js b/src/page.js index bd6df51..4bb271f 100644 --- a/src/page.js +++ b/src/page.js @@ -2,13 +2,18 @@ var marked = require("marked"); var fs = require("fs"); var pageTemplate = fs.readFileSync("resources/template.html", "utf-8"); +var footerTemplate = fs.readFileSync("resources/footer.html", "utf-8"); var editTemplate = fs.readFileSync("resources/edit.html", "utf-8"); -var buildPage = (id, title, content) => pageTemplate +var buildPage = (title, content, footer) => pageTemplate .replace("%TITLE%", title) - .replace(/%LINK%/g, id) - .replace("%CONTENT%", content); + .replace("%CONTENT%", content) + .replace("%FOOTER%", footer); + +module.exports.buildPage = buildPage; -module.exports.buildNote = note => buildPage(note.id, note.title, marked(note.text)); +module.exports.buildNote = note => buildPage(note.title, + marked(note.text), + footerTemplate.replace(/%LINK%/g, note.id)); module.exports.newNotePage = session => editTemplate .replace("%ACTION%", "POST")