Make max JSON request size configurable and default to 8 MB

This is to allow multi-document updates, for example when creating a new
project from a zip file.
This commit is contained in:
Eric Mc Sween 2020-05-08 11:53:02 -04:00
parent e60d9237d0
commit e8f935d046
3 changed files with 4 additions and 3 deletions

View file

@ -31,7 +31,7 @@ Metrics.event_loop.monitor(logger, 100)
const app = express()
app.use(Metrics.http.monitor(logger))
app.use(bodyParser.json({ limit: Settings.max_doc_length + 64 * 1024 }))
app.use(bodyParser.json({ limit: Settings.maxJsonRequestSize }))
Metrics.injectMetricsRoute(app)
DispatchManager.createAndStartDispatchers(Settings.dispatcherCount || 10)

View file

@ -168,6 +168,8 @@ module.exports = {
},
max_doc_length: 2 * 1024 * 1024, // 2mb
maxJsonRequestSize:
parseInt(process.env.MAX_JSON_REQUEST_SIZE, 10) || 8 * 1024 * 1024,
dispatcherCount: process.env.DISPATCHER_COUNT,

View file

@ -230,8 +230,7 @@ describe('Setting a document', function () {
})
this.newLines = []
while (
JSON.stringify(this.newLines).length <
Settings.max_doc_length + 64 * 1024
JSON.stringify(this.newLines).length <= Settings.maxJsonRequestSize
) {
this.newLines.push('(a long line of text)'.repeat(10000))
}