packages/server: Return API errors as JSON

This commit is contained in:
Jerko Steiner 2019-03-25 13:27:33 +08:00
parent 5c22f44930
commit 3f96a128a0
2 changed files with 7 additions and 1 deletions

View File

@ -11,7 +11,7 @@ export class ErrorApiHandler implements IMiddleware {
req.correlationId, err.stack)
const statusCode = this.getStatus(err)
res.status(statusCode)
if (err instanceof ValidationError) {
if (ValidationError.isInstanceOf(err)) {
res.json({
error: err.message,
errors: err.errors,

View File

@ -15,4 +15,10 @@ export class ValidationError extends Error {
this.name = 'ValidationError'
Error.captureStackTrace(this)
}
static isInstanceOf(err: any): err is ValidationError {
return typeof err.status === 'number'
&& typeof err.message === 'string'
&& Array.isArray(err.errors)
}
}