Home Reference Source

src/cealloga.js

/**
 * @desc Launches and manages cealloga server.
 * @since 0.1.0
 */
'use strict';

/**
 * @ignore
 */
const bodyParser = require('body-parser'),
	express = require('express'),
	settings = require('./settings'),
	app = express(),
	port = process.env.PORT || 3000,
	pug = require('pug'),
	path = require('path'),
	indexPugFile = path.join(settings.appDir, 'templates', 'index.pug'),
	indexTemplate = pug.compileFile(indexPugFile);

app.use(bodyParser.json());
app.get('/', (req, res) => res.send(indexTemplate(settings)));
app.use('/code', require('./code/route'));
app.use(`/${settings.cealloga.api_path}`, require('./cealloga/route'));

/**
 * @ignore
 */
let server = app.listen(port);

module.exports = {
	localhost: `http://127.0.0.1:${port}`,
	onListen: callback => {
		require('./cache').init(() => {
			callback(port);
		});
	},
	stop: () => {
		server.close();
	}
};