mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-30 20:31:34 +02:00
Merge pull request #33490 from overleaf/em-parse-req-errors-2
Reintroduce custom error types in request validation GitOrigin-RevId: 1985ca04c8fe693fb836b042517d94700343bc46
This commit is contained in:
@@ -1,15 +1,20 @@
|
||||
const { isZodErrorLike, fromError } = require('zod-validation-error')
|
||||
const { fromError } = require('zod-validation-error')
|
||||
const { InvalidParamsError, InvalidRequestError } = require('./Errors')
|
||||
|
||||
function createHandleValidationError(statusCode = 400) {
|
||||
return [
|
||||
(err, req, res, next) => {
|
||||
if (!isZodErrorLike(err)) {
|
||||
return next(err)
|
||||
}
|
||||
|
||||
res.status(statusCode).json({ ...fromError(err), statusCode })
|
||||
},
|
||||
]
|
||||
return (err, req, res, next) => {
|
||||
if (err instanceof InvalidParamsError) {
|
||||
res
|
||||
.status(404)
|
||||
.json({ error: fromError(err.zodError).toString(), statusCode: 404 })
|
||||
} else if (err instanceof InvalidRequestError) {
|
||||
res
|
||||
.status(statusCode)
|
||||
.json({ error: fromError(err.zodError).toString(), statusCode })
|
||||
} else {
|
||||
next(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const handleValidationError = createHandleValidationError(400)
|
||||
|
||||
Reference in New Issue
Block a user