Browse Source

refactoring for status messages

master
Christian Müller 10 years ago
parent
commit
a8d29c6775
  1. 6
      resources/footer.html
  2. 10
      resources/template.html
  3. 9
      server.js
  4. 13
      src/page.js

6
resources/footer.html

@ -0,0 +1,6 @@
<footer>
<a href="/">&#8962; notehub</a> &middot;
<a href="%LINK%/stats">statistics</a> &middot;
<a href="%LINK%/edit">edit</a> &middot;
<a href="%LINK%/export">export</a>
</footer>

10
resources/template.html

@ -10,14 +10,6 @@
<article> <article>
%CONTENT% %CONTENT%
</article> </article>
<footer> %FOOTER%
<a href="/">&#8962; notehub</a>
&middot;
<a href="%LINK%/stats">statistics</a>
&middot;
<a href="%LINK%/edit">edit</a>
&middot;
<a href="%LINK%/export">export</a>
</footer>
</body> </body>
</html> </html>

9
server.js

@ -30,10 +30,10 @@ app.post('/note', function (req, res) {
password = md5(body.password); password = md5(body.password);
var goToNote = note => res.redirect("/" + note.id); var goToNote = note => res.redirect("/" + note.id);
if (session.indexOf(getTimeStamp()) != 0) 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, "")); var expectedSignature = md5(session + note.replace(/[\n\r]/g, ""));
if (expectedSignature != body.signature) if (expectedSignature != body.signature)
return res.status(400).send("Signature mismatch"); return sendResponse(res, 400, "Signature mismatch");
console.log(body) console.log(body)
if (body.action == "POST") if (body.action == "POST")
storage.addNote(note, password).then(goToNote); storage.addNote(note, password).then(goToNote);
@ -42,7 +42,7 @@ app.post('/note', function (req, res) {
CACHE.del(note.id); CACHE.del(note.id);
goToNote(note); goToNote(note);
}, },
error => res.status(403).send(error.message)) error => sendResponse(res, 403, error.message))
}); });
app.get("/:year/:month/:day/:title", function (req, res) { 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, "<h1>" + message + "</h1>", ""));
var server = app.listen(3000, function () { var server = app.listen(3000, function () {
console.log('NoteHub server listening on port %s', server.address().port); console.log('NoteHub server listening on port %s', server.address().port);
}); });

13
src/page.js

@ -2,13 +2,18 @@ var marked = require("marked");
var fs = require("fs"); var fs = require("fs");
var pageTemplate = fs.readFileSync("resources/template.html", "utf-8"); 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 editTemplate = fs.readFileSync("resources/edit.html", "utf-8");
var buildPage = (id, title, content) => pageTemplate var buildPage = (title, content, footer) => pageTemplate
.replace("%TITLE%", title) .replace("%TITLE%", title)
.replace(/%LINK%/g, id) .replace("%CONTENT%", content)
.replace("%CONTENT%", content); .replace("%FOOTER%", footer);
module.exports.buildNote = note => buildPage(note.id, note.title, marked(note.text)); module.exports.buildPage = buildPage;
module.exports.buildNote = note => buildPage(note.title,
marked(note.text),
footerTemplate.replace(/%LINK%/g, note.id));
module.exports.newNotePage = session => editTemplate module.exports.newNotePage = session => editTemplate
.replace("%ACTION%", "POST") .replace("%ACTION%", "POST")

Loading…
Cancel
Save