Added configuration and made key length configurable
This commit is contained in:
parent
0eed33f42f
commit
b159817a27
3 changed files with 14 additions and 7 deletions
5
config.js
Normal file
5
config.js
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
|
||||||
|
"keyLength": 6
|
||||||
|
|
||||||
|
}
|
|
@ -2,8 +2,8 @@ var winston = require('winston');
|
||||||
|
|
||||||
// For handling serving stored documents
|
// For handling serving stored documents
|
||||||
|
|
||||||
var DocumentHandler = function() {
|
var DocumentHandler = function(options) {
|
||||||
|
this.keyLength = options.keyLength || 20;
|
||||||
};
|
};
|
||||||
|
|
||||||
// TODO implement with FS backend
|
// TODO implement with FS backend
|
||||||
|
@ -45,11 +45,10 @@ DocumentHandler.prototype.handlePost = function(request, response) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Generate a random key
|
// Generate a random key
|
||||||
// TODO make length configurable
|
|
||||||
DocumentHandler.prototype.randomKey = function() {
|
DocumentHandler.prototype.randomKey = function() {
|
||||||
var text = '';
|
var text = '';
|
||||||
var keyspace = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
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));
|
text += keyspace.charAt(Math.floor(Math.random() * keyspace.length));
|
||||||
}
|
}
|
||||||
return text;
|
return text;
|
||||||
|
|
|
@ -1,13 +1,16 @@
|
||||||
var http = require('http');
|
var http = require('http');
|
||||||
var url = require('url');
|
var url = require('url');
|
||||||
|
var fs = require('fs');
|
||||||
|
|
||||||
var winston = require('winston');
|
var winston = require('winston');
|
||||||
|
|
||||||
var StaticHandler = require('./lib/static_handler');
|
var StaticHandler = require('./lib/static_handler');
|
||||||
var DocumentHandler = require('./lib/document_handler');
|
var DocumentHandler = require('./lib/document_handler');
|
||||||
|
|
||||||
/////////////
|
// Load the configuration
|
||||||
// Configure logging TODO
|
var config = JSON.parse(fs.readFileSync('config.js', 'utf8'));
|
||||||
|
|
||||||
|
// Configure logging - TODO make configurable
|
||||||
winston.remove(winston.transports.Console);
|
winston.remove(winston.transports.Console);
|
||||||
winston.add(winston.transports.Console, { colorize: true, level: 'verbose' });
|
winston.add(winston.transports.Console, { colorize: true, level: 'verbose' });
|
||||||
|
|
||||||
|
@ -22,7 +25,7 @@ http.createServer(function(request, response) {
|
||||||
|
|
||||||
// Looking to add a new doc
|
// Looking to add a new doc
|
||||||
if (incoming.pathname.match(/^\/documents$/) && request.method == 'POST') {
|
if (incoming.pathname.match(/^\/documents$/) && request.method == 'POST') {
|
||||||
handler = new DocumentHandler();
|
handler = new DocumentHandler({ keyLength: config.keyLength });
|
||||||
return handler.handlePost(request, response);
|
return handler.handlePost(request, response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue