test-fake-server
Version:
simple way to create node http server
38 lines (29 loc) • 1.13 kB
JavaScript
const routing_templates = require('.');
const { get_koa_request_method } = require('../commons');
/**
* @param {object} jsom_model object
* @returns {string} return string with KOA routing model
*/
function get_routing_model(jsom_model) {
const temp_model = JSON.stringify(jsom_model);
const top_base =
'function router_worker (Router, request) {' +
'const fs = require("fs") \n' +
'const path = require("path") \n' +
'const querystring = require("querystring") \n' +
`// temp_model ${temp_model} \n` +
'const router = new Router()';
const bottom_base = '\n module.exports = router_worker \n'; //router.routes()
const { api } = jsom_model;
const routing_model = api.reduce((current_model, { method, ...rest }) => {
const koa_method = get_koa_request_method(method);
const koa_rout_executor = routing_templates[koa_method](rest);
current_model += '\n' + koa_rout_executor;
return current_model;
}, '');
const full_model = top_base + routing_model + '\n return router.routes()}' + bottom_base;
return full_model;
}
module.exports = {
get_routing_model,
};