mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-06-01 05:11:34 +02:00
Set Prettier's "trailingComma" setting to "es5" GitOrigin-RevId: 9f14150511929a855b27467ad17be6ab262fe5d5
36 lines
804 B
JavaScript
36 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'),
|
|
}
|