6c47537f47
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).
35 lines
1.0 KiB
JavaScript
Executable File
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);
|
|
});
|