UNPKG

jai-server

Version:

Fast , simple and powerful web framework for creating REST APIs for your next project. RESTFul API server

47 lines (46 loc) 1.73 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const router_1 = __importDefault(require("./lib/router")); const serverProto_1 = __importDefault(require("./serverProto")); const addPrototype_1 = __importDefault(require("./lib/addPrototype")); const jai_body_parser_1 = __importDefault(require("jai-body-parser")); const jai_static_1 = __importDefault(require("jai-static")); const requestBuilder_1 = __importDefault(require("./lib/requestBuilder")); const defaultConfig = { host: 'localhost', port: 3000, static: null, httpVersion: '1.1', https: undefined, http2: false, allowHTTP1: true, protocol: 'http', timeout: 60000, }; function JaiServer(config) { if (!config) config = defaultConfig; config = { ...defaultConfig, ...config }; const routes = (0, router_1.default)(); const proto = (0, serverProto_1.default)(config, routes); const requestHandler = (0, requestBuilder_1.default)(config, routes); const jaiApp = (0, addPrototype_1.default)(requestHandler, proto); proto.requestHandler = jaiApp; jaiApp.requestHandler = requestHandler; Object.defineProperty(jaiApp, 'stack', { get: () => routes.stack, set: (value) => { routes.stack = value; }, }); if (config.static) { jaiApp.use((0, jai_static_1.default)(config.static)); } jaiApp.use((0, jai_body_parser_1.default)(config.bodyParser)); return jaiApp; } const Jai_ = (0, addPrototype_1.default)(JaiServer, { Router: router_1.default }); module.exports = Jai_;