UNPKG

claire-framework

Version:

- được viết bằng TypeScript - hỗ trợ websocket và HTTP request - hỗ trợ CLI để generate base project (claire-cli)

45 lines 3.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const AbstractRequestHandler_1 = require("../AbstractRequestHandler"); const BodyParser_1 = require("../../default-implementations/BodyParser"); const GlobalInjection_1 = require("../../system/GlobalInjection"); const CORS_1 = require("../../default-implementations/CORS"); const __1 = require("../.."); const errors_1 = require("../../system/errors"); class AbstractHttpRequestHandler extends AbstractRequestHandler_1.AbstractRequestHandler { constructor() { super(...arguments); this.mountPoint = ""; this.middleware = [ new CORS_1.CORS(), new BodyParser_1.BodyParser(), ]; } assertValid() { const controllers = this.controllers; const handlers = []; for (const controller of controllers) { for (const handler of controller.handlers) { const index = handlers.findIndex(h => h.method === handler.method && h.url === handler.url); if (index >= 0 && !handlers[index].override) { throw new __1.ClaireError(errors_1.NO_IMPLICIT_HTTP_OVERRIDE, { overrider: handlers[index].permissionName, overridee: handler.permissionName, }); } else { handlers.push(handler); } } } } get controllers() { if (!this._controllers) { this._controllers = GlobalInjection_1.getGlobalInjection().httpControllers.map(c => c.instance || new c.constructorFn()); } return this._controllers; } ; } exports.AbstractHttpRequestHandler = AbstractHttpRequestHandler; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RIdHRwUmVxdWVzdEhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29udHJvbGxlci9odHRwL0Fic3RyYWN0SHR0cFJlcXVlc3RIYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsc0VBQWlFO0FBR2pFLHlFQUFvRTtBQUNwRSxrRUFBZ0U7QUFDaEUsNkRBQXdEO0FBRXhELDZCQUFrQztBQUNsQyxnREFBOEQ7QUFFOUQsTUFBc0IsMEJBQTJCLFNBQVEsK0NBQXNCO0lBQS9FOztRQUdXLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFFeEIsZUFBVSxHQUE2QjtZQUMxQyxJQUFJLFdBQUksRUFBRTtZQUNWLElBQUksdUJBQVUsRUFBRTtTQUNuQixDQUFDO0lBK0JOLENBQUM7SUE3QlUsV0FBVztRQUNkLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDckMsTUFBTSxRQUFRLEdBQTBCLEVBQUUsQ0FBQztRQUMzQyxLQUFLLE1BQU0sVUFBVSxJQUFJLFdBQVcsRUFBRTtZQUNsQyxLQUFLLE1BQU0sT0FBTyxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3ZDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzVGLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUU7b0JBQ3pDLE1BQU0sSUFBSSxlQUFXLENBQUMsa0NBQXlCLEVBQUU7d0JBQzdDLFNBQVMsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYzt3QkFDekMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxjQUFjO3FCQUNwQyxDQUFDLENBQUM7aUJBQ047cUJBQU07b0JBQ0gsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDMUI7YUFDSjtTQUNKO0lBQ0wsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLG9DQUFrQixFQUFFLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztTQUMxRztRQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDO0lBQUEsQ0FBQztDQU1MO0FBdkNELGdFQXVDQyJ9