0.3.1 • Published 10 years ago

express-extras v0.3.1

Weekly downloads
6
License
BSD-3-Clause
Repository
github
Last release
10 years ago

ExpressJS Extras Package

This package contains extra middleware options for ExpressJS.

Currently it only contains 2, but I will be adding to them as I need them ;)

Installation

npm install express-extras

extras.fixIP

This middleware module attempts to normalize req.socket.remoteAddress and headers['x-forwarded-for'] into req.ip when working with a proxy (like nginx).

var extras = require('express-extras');
app.configure(function() {

    app.use(extras.fixIP());
    //Or
    app.use(extras.fixIP([
        'x-forwarded-for',
        'forwarded-for',
        'x-cluster-ip'
    ]));

});

extras.throttle

Attempts to throttle requests based on the number of times a given resource is accessed. Once the throttle is reached, a 403 is served to them for the holdTime (default 10 seconds) 127.0.0.1 is automatically whitelisted (for development, monit, nagios, etc..) Probably should be used with/after extras.fixIP so that the users real IP is sent to the throttle.

var extras = require('express-extras');
app.configure(function() {

    Use the defaults..
    app.use(extras.throttle());

    //Or supply a config object
    //The default config shown..
    app.use(extras.throttle({
      urlCount: 5,
      urlSec: 1,
      holdTime: 10,
      whitelist: {
          '127.0.0.1': true
      },
      errorCode: 403,
      errorHtml: '<html><title>403 Forbidden</title><body><h1>403 Forbidden</h1><p>Client denied by server configuration.</p></body></html>'
    }));

});

Build Status

Build Status

0.3.1

10 years ago

0.3.0

11 years ago

0.2.0

11 years ago

0.1.4

11 years ago

0.1.3

12 years ago

0.1.2

12 years ago

0.1.0

14 years ago

0.1.1

14 years ago