CartoDB-SQL-API/app.js
Sandro Santilli 6c47537f47 Honour the 'node_socket_timeout' configuration directive
Closes #128
Includes testcase, which required enhancing assert.response to
handle errors.
Changes app controller to a function that only reads configuration
when executed (rather than when only require'd).
2014-01-31 10:58:19 +01:00

35 lines
1.0 KiB
JavaScript
Executable File

#!/usr/bin/env node
/*
* SQL API loader
* ===============
*
* node app [environment]
*
* environments: [development, test, production]
*
*/
var _ = require('underscore');
// sanity check arguments
var ENV = process.argv[2];
if (ENV != 'development' && ENV != 'production' && ENV != 'test' && ENV != 'staging' ) {
console.error("\n./app [environment]");
console.error("environments: [development, staging, production, test]");
process.exit(1);
}
// set Node.js app settings and boot
global.settings = require(__dirname + '/config/settings');
var env = require(__dirname + '/config/environments/' + ENV);
_.extend(global.settings, env);
// kick off controller
if ( ! global.settings.base_url ) global.settings.base_url = '/api/*';
var app = require(global.settings.app_root + '/app/controllers/app')();
app.listen(global.settings.node_port, global.settings.node_host, function() {
console.log("CartoDB SQL API listening on " +
global.settings.node_host + ":" + global.settings.node_port +
" with base_url " + global.settings.base_url);
});