use settings instead of ENV for web/api split

This commit is contained in:
Brian Gough 2017-06-06 11:31:29 +01:00
parent 4b188ce120
commit 62d6933886

View file

@ -161,25 +161,21 @@ app.get "/heapdump", (req, res)->
logger.info ("creating HTTP server").yellow logger.info ("creating HTTP server").yellow
server = require('http').createServer(app) server = require('http').createServer(app)
# can set WEB_TYPE=api-only or WEB_TYPE=web-only for separate web and # provide settings for separate web and api processes
# api processes # if enableApiRouter and enableWebRouter are not defined they default
switch process.env.WEB_TYPE # to true.
when "api-only" notDefined = (x) -> !x?
logger.info("providing api router"); enableApiRouter = Settings.web?.enableApiRouter
app.use(apiRouter) if enableApiRouter or notDefined(enableApiRouter)
app.use(ErrorController.handleApiError) logger.info("providing api router");
when "web-only" app.use(apiRouter)
logger.info("providing web router"); app.use(ErrorController.handleApiError)
app.use(webRouter)
app.use(ErrorController.handleError) enableWebRouter = Settings.web?.enableWebRouter
else if enableWebRouter or notDefined(enableWebRouter)
logger.info("providing web and api router"); logger.info("providing web router");
# process api routes first, if nothing matched fall though and use app.use(webRouter)
# web middleware + routes app.use(ErrorController.handleError)
app.use(apiRouter)
app.use(ErrorController.handleApiError)
app.use(webRouter)
app.use(ErrorController.handleError)
router = new Router(webRouter, apiRouter) router = new Router(webRouter, apiRouter)