Fix document length limit on post

We recently introduced a new way to create notes using a post requeest
to the `/new` endpoint. This is not limited in size, other than pasting
a note in the editor. This patch should enforce this limit also on this
way.

Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
This commit is contained in:
Sheogorath 2018-09-26 16:00:01 +02:00
parent bdf897d31c
commit 353642c870
No known key found for this signature in database
GPG Key ID: 1F05CC3635CDDFFD
1 changed files with 9 additions and 1 deletions

View File

@ -32,6 +32,9 @@ var response = {
errorBadRequest: function (res) { errorBadRequest: function (res) {
responseError(res, '400', 'Bad Request', 'something not right.') responseError(res, '400', 'Bad Request', 'something not right.')
}, },
errorTooLong: function (res) {
responseError(res, '413', 'Payload Too Large', 'Shorten your note!')
},
errorInternalError: function (res) { errorInternalError: function (res) {
responseError(res, '500', 'Internal Error', 'wtf.') responseError(res, '500', 'Internal Error', 'wtf.')
}, },
@ -145,7 +148,12 @@ function responseCodiMD (res, note) {
function newNote (req, res, next) { function newNote (req, res, next) {
var owner = null var owner = null
var body = req.body ? req.body : '' var body = ''
if (req.body && req.body.length > config.documentMaxLength) {
return response.errorTooLong(res)
} else {
body = req.body
}
body = body.replace(/[\r]/g, '') body = body.replace(/[\r]/g, '')
if (req.isAuthenticated()) { if (req.isAuthenticated()) {
owner = req.user.id owner = req.user.id