diff options
Diffstat (limited to 'lib/response.js')
-rw-r--r-- | lib/response.js | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/response.js b/lib/response.js index 37211998..4df036b7 100644 --- a/lib/response.js +++ b/lib/response.js @@ -32,6 +32,9 @@ var response = { errorBadRequest: function (res) { responseError(res, '400', 'Bad Request', 'something not right.') }, + errorTooLong: function (res) { + responseError(res, '413', 'Payload Too Large', 'Shorten your note!') + }, errorInternalError: function (res) { responseError(res, '500', 'Internal Error', 'wtf.') }, @@ -145,7 +148,12 @@ function responseCodiMD (res, note) { function newNote (req, res, next) { var owner = null - var body = req.body ? req.body : '' + var body = '' + if (req.body && req.body.length > config.documentMaxLength) { + return response.errorTooLong(res) + } else if (req.body) { + body = req.body + } body = body.replace(/[\r]/g, '') if (req.isAuthenticated()) { owner = req.user.id @@ -341,6 +349,10 @@ function actionPDF (req, res, note) { var path = config.tmpPath + '/' + Date.now() + '.pdf' content = content.replace(/\]\(\//g, '](' + url + '/') markdownpdf().from.string(content).to(path, function () { + if (!fs.existsSync(path)) { + logger.error('PDF seems to not be generated as expected. File doesn\'t exist: ' + path) + return response.errorInternalError(res) + } var stream = fs.createReadStream(path) var filename = title // Be careful of special characters |