diff --git a/config.js b/config.js index 887ee1f..6b2c436 100644 --- a/config.js +++ b/config.js @@ -1,5 +1,8 @@ { + "host": "localhost", + "port": 7777, + "keyLength": 6 } diff --git a/lib/document_handler.js b/lib/document_handler.js index 3ed0637..5b07d0d 100644 --- a/lib/document_handler.js +++ b/lib/document_handler.js @@ -3,7 +3,9 @@ var winston = require('winston'); // For handling serving stored documents var DocumentHandler = function(options) { - this.keyLength = options.keyLength || 20; + if (options) { + this.keyLength = options.keyLength || 20; + } }; // TODO implement with FS backend diff --git a/server.js b/server.js index faf29e9..2fd454a 100644 --- a/server.js +++ b/server.js @@ -7,8 +7,10 @@ var winston = require('winston'); var StaticHandler = require('./lib/static_handler'); var DocumentHandler = require('./lib/document_handler'); -// Load the configuration +// Load the configuration and set some defaults var config = JSON.parse(fs.readFileSync('config.js', 'utf8')); +config.port = config.port || 7777; +config.host = config.host || 'localhost'; // Configure logging - TODO make configurable winston.remove(winston.transports.Console); @@ -40,4 +42,6 @@ http.createServer(function(request, response) { handler = new StaticHandler('./static'); handler.handle(incoming.pathname, response); -}).listen(7777); +}).listen(config.port, config.host); + +console.info('listening on ' + config.host + ':' + config.port);