Added configuration and made key length configurable

This commit is contained in:
John Crepezzi 2011-11-18 16:54:16 -05:00
parent 0eed33f42f
commit b159817a27
3 changed files with 14 additions and 7 deletions

5
config.js Normal file
View file

@ -0,0 +1,5 @@
{
"keyLength": 6
}

View file

@ -2,8 +2,8 @@ var winston = require('winston');
// For handling serving stored documents
var DocumentHandler = function() {
var DocumentHandler = function(options) {
this.keyLength = options.keyLength || 20;
};
// TODO implement with FS backend
@ -45,11 +45,10 @@ DocumentHandler.prototype.handlePost = function(request, response) {
};
// Generate a random key
// TODO make length configurable
DocumentHandler.prototype.randomKey = function() {
var text = '';
var keyspace = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
for (var i = 0; i < 6; i++) {
for (var i = 0; i < this.keyLength; i++) {
text += keyspace.charAt(Math.floor(Math.random() * keyspace.length));
}
return text;

View file

@ -1,13 +1,16 @@
var http = require('http');
var url = require('url');
var fs = require('fs');
var winston = require('winston');
var StaticHandler = require('./lib/static_handler');
var DocumentHandler = require('./lib/document_handler');
/////////////
// Configure logging TODO
// Load the configuration
var config = JSON.parse(fs.readFileSync('config.js', 'utf8'));
// Configure logging - TODO make configurable
winston.remove(winston.transports.Console);
winston.add(winston.transports.Console, { colorize: true, level: 'verbose' });
@ -22,7 +25,7 @@ http.createServer(function(request, response) {
// Looking to add a new doc
if (incoming.pathname.match(/^\/documents$/) && request.method == 'POST') {
handler = new DocumentHandler();
handler = new DocumentHandler({ keyLength: config.keyLength });
return handler.handlePost(request, response);
}