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

Merge pull request #14 from grampajoe/cancelling

Cancellation should only last as long as the handler
parents 71c791c1 8c2add94
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -49,20 +49,21 @@ DocumentHandler.prototype.handleRawGet = function(key, response, skipExpire) {
DocumentHandler.prototype.handlePost = function(request, response) {
  var _this = this;
  var buffer = '';
  var cancelled = false;
  request.on('data', function(data) {
    if (!buffer) {
      response.writeHead(200, { 'content-type': 'application/json' });
    } 
    buffer += data.toString();
    if (_this.maxLength && buffer.length > _this.maxLength) {
      _this.cancelled = true;
      cancelled = true;
      winston.warn('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;
    if (cancelled) return;
    _this.chooseKey(function(key) {
      _this.store.set(key, buffer, function(res) {
        if (res) {