mirror of
https://github.com/SunRed/haste-server.git
synced 2024-12-29 07:20:11 +01:00
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
|
||||
|
||||
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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue