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 @@ @@ -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 @@ @@ -10,14 +10,6 @@
<article>
%CONTENT%
</article>
<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>
%FOOTER%
</body>
</html>

9
server.js

@ -30,10 +30,10 @@ app.post('/note', function (req, res) { @@ -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) { @@ -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) { @@ -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 () {
console.log('NoteHub server listening on port %s', server.address().port);
});

13
src/page.js

@ -2,13 +2,18 @@ var marked = require("marked"); @@ -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.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
.replace("%ACTION%", "POST")

Loading…
Cancel
Save