mridgway / node-limits

Simple express/connect middleware to set limit to upload size, set request timeout etc.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

limits

Simple express/connect middleware to set limit to upload size, set request timeout etc.

It is responsible for:

  • Preventing upload completely. In config, use: { file_uploads: false }

  • Limiting the total size of upload In config, use: { post_max_size: [bytes] }, if 0, this functionality is disabled

  • Limiting the length of uri In config, use: { uri_max_length: [number] }, if 0 this functionality is disabled

  • Setting a global absolute timeout for both incoming and outgoing connections In config, use: { global_timeout: [millis] }, if 0 - no timeout is set

  • Setting a global absolute timeout for incoming connections only In config, use: { inc_req_timeout: [millis] }, if 0 - no timeout is set

  • Setting a global absolute timeout for outgoing connections only In config, use: { out_req_timeout: [millis] }, if 0 - no timeout is set

  • Setting idle timeout for incoming connections In config, use: { idle_timeout: [millis] }, if 0 - no timeout is set

  • Setting the http.Agent.defaultMaxSockets for the entire app In config, use: { max_sockets: [number] }, if 0 - nothing will be set.

  • Setting the socket noDelay In config, use: { socket_no_delay: [boolean] }, if false - nothing will be set.

To completely disable module use config, { enable: false }. Each of the above functionality is disabled if corresponding config attribute is not set.

install

With npm do:

npm install limits

usage

var express = require('express'),
    limits = require('limits');

var app = express();

var limits_config = {
    enable: true,
    file_uploads: true,
    post_max_size: 2000000
}

app.use(limits(limits_config));

app.listen(8000);

Build Status

Build Status

Node Badge

NPM

About

Simple express/connect middleware to set limit to upload size, set request timeout etc.

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:JavaScript 100.0%