diff --git a/src/middlewares/openapi.multipart.ts b/src/middlewares/openapi.multipart.ts index 5b12573a..a08efe4b 100644 --- a/src/middlewares/openapi.multipart.ts +++ b/src/middlewares/openapi.multipart.ts @@ -8,6 +8,7 @@ import { BadRequest, RequestEntityToLarge, InternalServerError, + HttpError, } from '../framework/types'; import { MulterError } from 'multer'; import ajv = require('ajv'); @@ -117,11 +118,16 @@ function error(req: OpenApiRequest, err: Error): ValidationError { ); const unexpected = /LIMIT_UNEXPECTED_FILE/.test(multerError.code); const status = payload_too_big ? 413 : !unexpected ? 400 : 500; - return payload_too_big + return HttpError.create({ + status: status, + path: req.path, + message: err.message, + }); + /*return payload_too_big ? new RequestEntityToLarge({ path: req.path, message: err.message }) : !unexpected ? new BadRequest({ path: req.path, message: err.message }) - : new InternalServerError({ path: req.path, message: err.message }); + : new InternalServerError({ path: req.path, message: err.message });*/ } else { // HACK // TODO improve multer error handling diff --git a/src/middlewares/openapi.security.ts b/src/middlewares/openapi.security.ts index 796052f2..85667f3e 100644 --- a/src/middlewares/openapi.security.ts +++ b/src/middlewares/openapi.security.ts @@ -9,6 +9,7 @@ import { InternalServerError, Unauthorized, Forbidden, + HttpError, } from '../framework/types'; import { OpenApiContext } from '../framework/openapi.context'; @@ -105,12 +106,17 @@ export function security( } } catch (e) { const message = e?.error?.message || 'unauthorized'; - const err = + const err = HttpError.create({ + status: e.status, + path: path, + message: message, + }); + /*const err = e.status == 500 ? new InternalServerError({ path: path, message: message }) : e.status == 403 ? new Forbidden({ path: path, message: message }) - : new Unauthorized({ path: path, message: message }); + : new Unauthorized({ path: path, message: message });*/ next(err); } };