@bee.js/node
Version:
A JavaScript framework for making Node.js API´s
54 lines (44 loc) • 1.41 kB
JavaScript
const express = require("express");
const route = require("../WEB/route");
const freeRoute = require("../WEB/freeRoute");
const log = require("./log");
const headers = require("./headers");
const bodyParser = require("body-parser");
module.exports = function () {
if (!global.routes) return;
const router = express.Router();
const controllers = global.controllers;
global.routes?.forEach((r) => {
let controller =
typeof r.controller !== "string"
? r.controller
: r.controller.split(".").reduce((obj, i) => {
return obj && obj[i]
? obj[i]
: (log(
`The controller '${i}' is not found in '${r.controller}'`,
1
),
() => null);
}, controllers);
if (!router[r.method || "get"]) return console.log(`ERROR: method not found`, r);
router[r.method || "get"](
r.route,
r.free ? freeRoute : route,
controller
);
router.use(
bodyParser.urlencoded({
limit: "20mb",
extended: true,
parameterLimit: 50000,
})
);
router.use(bodyParser.json({ extended: true, limit: "20mb" }));
router.use(bodyParser.raw());
router.use((req, res, next) => headers({ req, res, next, router, configs }));
});
log(`${Object.keys(global.routes).length} route(s) 222222
`);
return router;
};