mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-27 11:01:56 +02:00
Add opentelemetry to dev environment GitOrigin-RevId: 31a8234197337a264412b411429692525793c8b0
36 lines
820 B
JavaScript
36 lines
820 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 function bodyParser(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'),
|
|
}
|