When using server.use(restify.bodyParser()
, content is buffered being passed through to JSON.parse()
.
With very large JSON, this quickly becomes a bottleneck, hanging restify thread while parsing JSON.
This library parses application/json
requests asynchronously to avoid blocking the main event loop.
All other requests are left unchanged.
Request below a certain size are also sent to the default bodyParser
for performance.
var restifyAsyncJsonBodyParser = require('restify-async-json-body-parser');
server.use(restifyAsyncJsonBodyParser());
As for any restify middleware, you can pass options
.
Those options will get forwarded to the default bodyParser
if used.
In addition to those options, you may use minLength
to set a default size (in bytes) before switching to asynchronous. Default is 2500.