node-web-mvc
Version:
node spring mvc
21 lines (20 loc) • 1.04 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const UnsupportReturnValueHandlerError_1 = __importDefault(require("../../../errors/UnsupportReturnValueHandlerError"));
class HandlerMethodReturnValueHandlerComposite {
constructor(handlers) {
this.returnvalueHandlers = handlers || [];
}
handleReturnValue(returnValue, returnType, servletContext, mavContainer) {
const handler = this.returnvalueHandlers.find((m) => m.supportsReturnType(returnType));
if (!handler) {
const path = servletContext.request.path;
throw new UnsupportReturnValueHandlerError_1.default(`Unknow return value type:${returnType.parameterType} @${path}`, returnValue);
}
return handler.handleReturnValue(returnValue, returnType, servletContext, mavContainer);
}
}
exports.default = HandlerMethodReturnValueHandlerComposite;