Commit b159817a authored by John Crepezzi's avatar John Crepezzi
Browse files

Added configuration and made key length configurable

parent 0eed33f4
Loading
Loading
Loading
Loading

config.js

0 → 100644
+5 −0
Original line number Diff line number Diff line
{

  "keyLength": 6

}
+3 −4
Original line number Diff line number Diff line
@@ -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;
+6 −3
Original line number Diff line number Diff line
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);
  }