diff --git a/public/js/script.js b/public/js/script.js index d9abbb8..f1fd65c 100644 --- a/public/js/script.js +++ b/public/js/script.js @@ -4,6 +4,9 @@ var messagesRoute = host + '/messages'; function sendMessage (user, content, callback) { $.post(sendRoute, {user: user, content: content}) + .fail(function(data, errorMessage) { + alert(data.responseText); + }) .done(callback); } diff --git a/server.js b/server.js index ca1ef1a..405237d 100644 --- a/server.js +++ b/server.js @@ -2,6 +2,7 @@ var express = require('express'); var bodyParser = require('body-parser'); var escape = require('html-escape'); var app = express(); +var fs = require('fs'); var cfg = { port: process.env.PORT || 8080, @@ -28,6 +29,9 @@ var server = app.listen(cfg.port, cfg.hostname, function () { var messages = []; +if (fs.existsSync('messages.txt')){ + messages = JSON.parse(fs.readFileSync('messages.txt', 'utf8')); +} /* API Routes */ @@ -35,9 +39,30 @@ app.post('/send', function (req, res) { var user = req.body.user; var content = req.body.content; var timestamp = Date.now(); - + + + user = user.substring(0,30); + content = content.substring(0,49); + + content = escape(content); + + if (messages.length >= 1) { + var lastMessage = messages[messages.length - 1]; + if (content === lastMessage.content){ + res.status (400).send('no spam plz!'); + return; + } +} // TODO: Save message + var object = {user: user, content:content, timestamp:timestamp}; + messages.push(object); + + if (messages.length > 10){ + messages.splice(0,1); + } + + res.send('ok'); });