/* automatically generated by JSCoverage - do not edit */
if (typeof _$jscoverage === 'undefined') _$jscoverage = {};
if (! _$jscoverage['middleware/limit.js']) {
  _$jscoverage['middleware/limit.js'] = [];
  _$jscoverage['middleware/limit.js'][12] = 0;
  _$jscoverage['middleware/limit.js'][31] = 0;
  _$jscoverage['middleware/limit.js'][32] = 0;
  _$jscoverage['middleware/limit.js'][33] = 0;
  _$jscoverage['middleware/limit.js'][34] = 0;
  _$jscoverage['middleware/limit.js'][35] = 0;
  _$jscoverage['middleware/limit.js'][41] = 0;
  _$jscoverage['middleware/limit.js'][42] = 0;
  _$jscoverage['middleware/limit.js'][45] = 0;
  _$jscoverage['middleware/limit.js'][48] = 0;
  _$jscoverage['middleware/limit.js'][49] = 0;
  _$jscoverage['middleware/limit.js'][50] = 0;
  _$jscoverage['middleware/limit.js'][53] = 0;
}
_$jscoverage['middleware/limit.js'][12]++;
var utils = require("../utils");
_$jscoverage['middleware/limit.js'][31]++;
module.exports = (function limit(bytes) {
  _$jscoverage['middleware/limit.js'][32]++;
  if ("string" == typeof bytes) {
    _$jscoverage['middleware/limit.js'][32]++;
    bytes = utils.parseBytes(bytes);
  }
  _$jscoverage['middleware/limit.js'][33]++;
  if ("number" != typeof bytes) {
    _$jscoverage['middleware/limit.js'][33]++;
    throw new Error("limit() bytes required");
  }
  _$jscoverage['middleware/limit.js'][34]++;
  return (function limit(req, res, next) {
  _$jscoverage['middleware/limit.js'][35]++;
  var received = 0, len = req.headers["content-length"]? parseInt(req.headers["content-length"], 10): null;
  _$jscoverage['middleware/limit.js'][41]++;
  if (req._limit) {
    _$jscoverage['middleware/limit.js'][41]++;
    return next();
  }
  _$jscoverage['middleware/limit.js'][42]++;
  req._limit = true;
  _$jscoverage['middleware/limit.js'][45]++;
  if (len && len > bytes) {
    _$jscoverage['middleware/limit.js'][45]++;
    return next(utils.error(413));
  }
  _$jscoverage['middleware/limit.js'][48]++;
  req.on("data", (function (chunk) {
  _$jscoverage['middleware/limit.js'][49]++;
  received += chunk.length;
  _$jscoverage['middleware/limit.js'][50]++;
  if (received > bytes) {
    _$jscoverage['middleware/limit.js'][50]++;
    req.destroy();
  }
}));
  _$jscoverage['middleware/limit.js'][53]++;
  next();
});
});
_$jscoverage['middleware/limit.js'].source = ["","/*!"," * Connect - limit"," * Copyright(c) 2011 TJ Holowaychuk"," * MIT Licensed"," */","","/**"," * Module dependencies."," */","","var utils = require('../utils');","","/**"," * Limit:"," *"," *   Limit request bodies to the given size in `bytes`."," *"," *   A string representation of the bytesize may also be passed,"," *   for example \"5mb\", \"200kb\", \"1gb\", etc."," *"," *     connect()"," *       .use(connect.limit('5.5mb'))"," *       .use(handleImageUpload)"," *"," * @param {Number|String} bytes"," * @return {Function}"," * @api public"," */","","module.exports = function limit(bytes){","  if ('string' == typeof bytes) bytes = utils.parseBytes(bytes);","  if ('number' != typeof bytes) throw new Error('limit() bytes required');","  return function limit(req, res, next){","    var received = 0","      , len = req.headers['content-length']","        ? parseInt(req.headers['content-length'], 10)","        : null;","","    // self-awareness","    if (req._limit) return next();","    req._limit = true;","","    // limit by content-length","    if (len &amp;&amp; len &gt; bytes) return next(utils.error(413));","","    // limit","    req.on('data', function(chunk){","      received += chunk.length;","      if (received &gt; bytes) req.destroy();","    });","","    next();","  };","};"];
