32 lines
971 B
JavaScript
32 lines
971 B
JavaScript
/*
|
||
! /servers/gateway/server.js – Central Gateway Server Manager
|
||
? This module orchestrates the express lifecycle, handles initialization, middleware configs and router integrations
|
||
*/
|
||
|
||
// % import nodejs packages
|
||
const express = require('express');
|
||
const http = require('http');
|
||
const path = require('path');
|
||
|
||
// % import external dependencies
|
||
const rootDir = path.resolve(__dirname, '..', '..');
|
||
const { dirs } = require(path.resolve(rootDir, 'configuration', 'mapping.js'));
|
||
|
||
// % set up express server
|
||
const app = express();
|
||
const server = http.createServer(app);
|
||
|
||
// $ server setup
|
||
app.use(express.json()); // add json support for express
|
||
|
||
// $ router setup
|
||
const router = require(path.resolve(dirs.gatewayDir, 'routers'));
|
||
app.use(router);
|
||
|
||
// $ server functions
|
||
const {
|
||
boot, shutdown, restart, status
|
||
} = require(path.resolve(dirs.gatewayDir, 'functions.js'));
|
||
|
||
// $ export server module
|
||
module.exports = { boot, shutdown, restart, status, server }; |