@tsclean/core
Version:
Plugin for API Rest Full development, based on Clean Architecture, IoC and Dependency Injection.
31 lines • 4.79 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformException = transformException;
const multer_constants_1 = require("./multer.constants");
const exceptions_1 = require("../exceptions");
const payload_too_large_exception_1 = require("../exceptions/payload-too-large.exception");
function transformException(error) {
if (!error || error instanceof exceptions_1.HttpException) {
return error;
}
switch (error.message) {
case multer_constants_1.multerExceptions.LIMIT_FILE_SIZE:
return new payload_too_large_exception_1.PayloadTooLargeException(error.message);
case multer_constants_1.multerExceptions.LIMIT_FILE_COUNT:
case multer_constants_1.multerExceptions.LIMIT_FIELD_KEY:
case multer_constants_1.multerExceptions.LIMIT_FIELD_VALUE:
case multer_constants_1.multerExceptions.LIMIT_FIELD_COUNT:
case multer_constants_1.multerExceptions.LIMIT_UNEXPECTED_FILE:
case multer_constants_1.multerExceptions.LIMIT_PART_COUNT:
case multer_constants_1.multerExceptions.MISSING_FIELD_NAME:
return new exceptions_1.BadRequestException(error.message);
case multer_constants_1.busboyExceptions.MULTIPART_BOUNDARY_NOT_FOUND:
return new exceptions_1.BadRequestException(error.message);
case multer_constants_1.busboyExceptions.MULTIPART_MALFORMED_PART_HEADER:
case multer_constants_1.busboyExceptions.MULTIPART_UNEXPECTED_END_OF_FORM:
case multer_constants_1.busboyExceptions.MULTIPART_UNEXPECTED_END_OF_FILE:
return new exceptions_1.BadRequestException(`Multipart: ${error.message}`);
}
return error;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGVyLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3VwbG9hZC9tdWx0ZXIudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxnREF1QkM7QUEzQkQseURBQXdFO0FBQ3hFLDhDQUFpRTtBQUNqRSwyRkFBbUY7QUFFbkYsU0FBZ0Isa0JBQWtCLENBQUMsS0FBd0I7SUFDekQsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLFlBQVksMEJBQWEsRUFBRSxDQUFDO1FBQzdDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELFFBQVEsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RCLEtBQUssbUNBQWdCLENBQUMsZUFBZTtZQUNuQyxPQUFPLElBQUksc0RBQXdCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELEtBQUssbUNBQWdCLENBQUMsZ0JBQWdCLENBQUM7UUFDdkMsS0FBSyxtQ0FBZ0IsQ0FBQyxlQUFlLENBQUM7UUFDdEMsS0FBSyxtQ0FBZ0IsQ0FBQyxpQkFBaUIsQ0FBQztRQUN4QyxLQUFLLG1DQUFnQixDQUFDLGlCQUFpQixDQUFDO1FBQ3hDLEtBQUssbUNBQWdCLENBQUMscUJBQXFCLENBQUM7UUFDNUMsS0FBSyxtQ0FBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQztRQUN2QyxLQUFLLG1DQUFnQixDQUFDLGtCQUFrQjtZQUN0QyxPQUFPLElBQUksZ0NBQW1CLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hELEtBQUssbUNBQWdCLENBQUMsNEJBQTRCO1lBQ2hELE9BQU8sSUFBSSxnQ0FBbUIsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEQsS0FBSyxtQ0FBZ0IsQ0FBQywrQkFBK0IsQ0FBQztRQUN0RCxLQUFLLG1DQUFnQixDQUFDLGdDQUFnQyxDQUFDO1FBQ3ZELEtBQUssbUNBQWdCLENBQUMsZ0NBQWdDO1lBQ3BELE9BQU8sSUFBSSxnQ0FBbUIsQ0FBQyxjQUFjLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtdWx0ZXJFeGNlcHRpb25zLCBidXNib3lFeGNlcHRpb25zIH0gZnJvbSAnLi9tdWx0ZXIuY29uc3RhbnRzJztcbmltcG9ydCB7QmFkUmVxdWVzdEV4Y2VwdGlvbiwgSHR0cEV4Y2VwdGlvbn0gZnJvbSBcIi4uL2V4Y2VwdGlvbnNcIjtcbmltcG9ydCB7UGF5bG9hZFRvb0xhcmdlRXhjZXB0aW9ufSBmcm9tIFwiLi4vZXhjZXB0aW9ucy9wYXlsb2FkLXRvby1sYXJnZS5leGNlcHRpb25cIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUV4Y2VwdGlvbihlcnJvcjogRXJyb3IgfCB1bmRlZmluZWQpIHtcbiAgaWYgKCFlcnJvciB8fCBlcnJvciBpbnN0YW5jZW9mIEh0dHBFeGNlcHRpb24pIHtcbiAgICByZXR1cm4gZXJyb3I7XG4gIH1cbiAgc3dpdGNoIChlcnJvci5tZXNzYWdlKSB7XG4gICAgY2FzZSBtdWx0ZXJFeGNlcHRpb25zLkxJTUlUX0ZJTEVfU0laRTpcbiAgICAgIHJldHVybiBuZXcgUGF5bG9hZFRvb0xhcmdlRXhjZXB0aW9uKGVycm9yLm1lc3NhZ2UpO1xuICAgIGNhc2UgbXVsdGVyRXhjZXB0aW9ucy5MSU1JVF9GSUxFX0NPVU5UOlxuICAgIGNhc2UgbXVsdGVyRXhjZXB0aW9ucy5MSU1JVF9GSUVMRF9LRVk6XG4gICAgY2FzZSBtdWx0ZXJFeGNlcHRpb25zLkxJTUlUX0ZJRUxEX1ZBTFVFOlxuICAgIGNhc2UgbXVsdGVyRXhjZXB0aW9ucy5MSU1JVF9GSUVMRF9DT1VOVDpcbiAgICBjYXNlIG11bHRlckV4Y2VwdGlvbnMuTElNSVRfVU5FWFBFQ1RFRF9GSUxFOlxuICAgIGNhc2UgbXVsdGVyRXhjZXB0aW9ucy5MSU1JVF9QQVJUX0NPVU5UOlxuICAgIGNhc2UgbXVsdGVyRXhjZXB0aW9ucy5NSVNTSU5HX0ZJRUxEX05BTUU6XG4gICAgICByZXR1cm4gbmV3IEJhZFJlcXVlc3RFeGNlcHRpb24oZXJyb3IubWVzc2FnZSk7XG4gICAgY2FzZSBidXNib3lFeGNlcHRpb25zLk1VTFRJUEFSVF9CT1VOREFSWV9OT1RfRk9VTkQ6XG4gICAgICByZXR1cm4gbmV3IEJhZFJlcXVlc3RFeGNlcHRpb24oZXJyb3IubWVzc2FnZSk7XG4gICAgY2FzZSBidXNib3lFeGNlcHRpb25zLk1VTFRJUEFSVF9NQUxGT1JNRURfUEFSVF9IRUFERVI6XG4gICAgY2FzZSBidXNib3lFeGNlcHRpb25zLk1VTFRJUEFSVF9VTkVYUEVDVEVEX0VORF9PRl9GT1JNOlxuICAgIGNhc2UgYnVzYm95RXhjZXB0aW9ucy5NVUxUSVBBUlRfVU5FWFBFQ1RFRF9FTkRfT0ZfRklMRTpcbiAgICAgIHJldHVybiBuZXcgQmFkUmVxdWVzdEV4Y2VwdGlvbihgTXVsdGlwYXJ0OiAke2Vycm9yLm1lc3NhZ2V9YCk7XG4gIH1cbiAgcmV0dXJuIGVycm9yO1xufVxuIl19