Loading TODO +1 −1 Original line number Diff line number Diff line cache headers for static assets tests maximum size of a haste fix any annoying visual quirks add FAVICON cache static in memory add feedback for errors to UI - esp. too long # shared version only some way to do announcements easily (and use for ads) Loading config.js +2 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,8 @@ "keyLength": 6, "maxLength": 400000, "logging": [ { "level": "verbose", Loading lib/document_handler.js +9 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ var winston = require('winston'); var DocumentHandler = function(options) { if (options) { this.keyLength = options.keyLength || 10; this.maxLength = options.maxLength; // none by default this.store = options.store; } }; Loading Loading @@ -35,8 +36,15 @@ DocumentHandler.prototype.handlePost = function(request, response) { response.writeHead(200, { 'content-type': 'application/json' }); } buffer += data.toString(); if (_this.maxLength && buffer.length > _this.maxLength) { _this.cancelled = true; winston.warn('attempted to upload a document >maxLength', { maxLength: _this.maxLength }); response.writeHead(400, { 'content-type': 'application/json' }); response.end(JSON.stringify({ message: 'document exceeds maximum length' })); } }); request.on('end', function(end) { if (_this.cancelled) return; _this.store.set(key, buffer, function(res) { if (res) { winston.verbose('added document', { key: key }); Loading @@ -44,6 +52,7 @@ DocumentHandler.prototype.handlePost = function(request, response) { } else { winston.verbose('error adding document'); response.writeHead(500, { 'content-type': 'application/json' }); response.end(JSON.stringify({ message: 'error adding document' })); } }); Loading server.js +1 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ http.createServer(function(request, response) { if (incoming.pathname.match(/^\/documents$/) && request.method == 'POST') { handler = new DocumentHandler({ keyLength: config.keyLength, maxLength: config.maxLength, store: preferredStore() }); return handler.handlePost(request, response); Loading Loading
TODO +1 −1 Original line number Diff line number Diff line cache headers for static assets tests maximum size of a haste fix any annoying visual quirks add FAVICON cache static in memory add feedback for errors to UI - esp. too long # shared version only some way to do announcements easily (and use for ads) Loading
config.js +2 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,8 @@ "keyLength": 6, "maxLength": 400000, "logging": [ { "level": "verbose", Loading
lib/document_handler.js +9 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ var winston = require('winston'); var DocumentHandler = function(options) { if (options) { this.keyLength = options.keyLength || 10; this.maxLength = options.maxLength; // none by default this.store = options.store; } }; Loading Loading @@ -35,8 +36,15 @@ DocumentHandler.prototype.handlePost = function(request, response) { response.writeHead(200, { 'content-type': 'application/json' }); } buffer += data.toString(); if (_this.maxLength && buffer.length > _this.maxLength) { _this.cancelled = true; winston.warn('attempted to upload a document >maxLength', { maxLength: _this.maxLength }); response.writeHead(400, { 'content-type': 'application/json' }); response.end(JSON.stringify({ message: 'document exceeds maximum length' })); } }); request.on('end', function(end) { if (_this.cancelled) return; _this.store.set(key, buffer, function(res) { if (res) { winston.verbose('added document', { key: key }); Loading @@ -44,6 +52,7 @@ DocumentHandler.prototype.handlePost = function(request, response) { } else { winston.verbose('error adding document'); response.writeHead(500, { 'content-type': 'application/json' }); response.end(JSON.stringify({ message: 'error adding document' })); } }); Loading
server.js +1 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ http.createServer(function(request, response) { if (incoming.pathname.match(/^\/documents$/) && request.method == 'POST') { handler = new DocumentHandler({ keyLength: config.keyLength, maxLength: config.maxLength, store: preferredStore() }); return handler.handlePost(request, response); Loading