diff --git a/services/real-time/app/js/Errors.js b/services/real-time/app/js/Errors.js index 06bf33cf5d..12c644c839 100644 --- a/services/real-time/app/js/Errors.js +++ b/services/real-time/app/js/Errors.js @@ -6,4 +6,13 @@ class CodedError extends OError { } } -module.exports = { CodedError } +class DataTooLargeToParseError extends OError { + constructor(data) { + super('data too large to parse', { + head: data.slice(0, 1024), + length: data.length + }) + } +} + +module.exports = { CodedError, DataTooLargeToParseError } diff --git a/services/real-time/app/js/SafeJsonParse.js b/services/real-time/app/js/SafeJsonParse.js index 982fd9d424..a8a3afae4d 100644 --- a/services/real-time/app/js/SafeJsonParse.js +++ b/services/real-time/app/js/SafeJsonParse.js @@ -1,14 +1,10 @@ const Settings = require('settings-sharelatex') -const logger = require('logger-sharelatex') +const { DataTooLargeToParseError } = require('./Errors') module.exports = { parse(data, callback) { if (data.length > Settings.maxUpdateSize) { - logger.error( - { head: data.slice(0, 1024), length: data.length }, - 'data too large to parse' - ) - return callback(new Error('data too large to parse')) + return callback(new DataTooLargeToParseError(data)) } let parsed try { diff --git a/services/real-time/test/unit/js/SafeJsonParseTest.js b/services/real-time/test/unit/js/SafeJsonParseTest.js index 4fb558a6b0..51a60dea23 100644 --- a/services/real-time/test/unit/js/SafeJsonParseTest.js +++ b/services/real-time/test/unit/js/SafeJsonParseTest.js @@ -50,7 +50,7 @@ describe('SafeJsonParse', function () { const data = `{\"foo\": \"${big_blob}\"}` this.Settings.maxUpdateSize = 2 * 1024 return this.SafeJsonParse.parse(data, (error, parsed) => { - this.logger.error.called.should.equal(true) + this.logger.error.called.should.equal(false) expect(error).to.exist return done() })