mirror of
https://github.com/overleaf/overleaf.git
synced 2024-09-23 02:55:13 -04:00
1be43911b4
Set Prettier's "trailingComma" setting to "es5" GitOrigin-RevId: 9f14150511929a855b27467ad17be6ab262fe5d5
35 lines
804 B
JavaScript
35 lines
804 B
JavaScript
const bodyParser = require('body-parser')
|
|
const HttpErrorHandler = require('../Features/Errors/HttpErrorHandler')
|
|
|
|
function isBodyParserError(nextArg) {
|
|
if (nextArg instanceof Error) {
|
|
return (
|
|
nextArg.statusCode &&
|
|
nextArg.statusCode >= 400 &&
|
|
nextArg.statusCode < 600
|
|
)
|
|
}
|
|
return false
|
|
}
|
|
|
|
const wrapBodyParser = method => opts => {
|
|
const middleware = bodyParser[method](opts)
|
|
return (req, res, next) => {
|
|
middleware(req, res, nextArg => {
|
|
if (isBodyParserError(nextArg)) {
|
|
return HttpErrorHandler.handleErrorByStatusCode(
|
|
req,
|
|
res,
|
|
nextArg,
|
|
nextArg.statusCode
|
|
)
|
|
}
|
|
next(nextArg)
|
|
})
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
urlencoded: wrapBodyParser('urlencoded'),
|
|
json: wrapBodyParser('json'),
|
|
}
|