making rate limiter work

This commit is contained in:
Manuel Araoz 2014-08-20 17:42:21 -04:00
parent 8de655eb2b
commit 38f160c213
4 changed files with 12 additions and 13 deletions

View File

@ -28,7 +28,6 @@ module.exports = function(app, historicSync, peerSync) {
//Enable jsonp
app.enable('jsonp callback');
app.use(config.apiPrefix + '/sync', setHistoric);
app.use(config.apiPrefix + '/peer', setPeer);
app.use(express.logger('dev'));

View File

@ -9,7 +9,6 @@ var PeerSync = require('./lib/PeerSync');
var HistoricSync = require('./lib/HistoricSync');
var express = require('express');
var connect = require('connect');
var program = require('commander');
var config = require('./config/config');
@ -111,8 +110,6 @@ if (!config.disableHistoricSync) {
if (peerSync) peerSync.allowReorgs = true;
// routes
require('./config/routes')(expressApp);
// socket.io
var server = require('http').createServer(expressApp);
@ -130,6 +127,7 @@ if (config.enableRatelimiter) {
// express settings
require('./config/routes')(expressApp);
require('./config/express')(expressApp, historicSync, peerSync);

View File

@ -58,8 +58,7 @@
"bufferput": "git://github.com/bitpay/node-bufferput.git",
"buffertools": "*",
"commander": "^2.3.0",
"connect": "^2.25.7",
"connect-ratelimit": "0.0.6",
"connect-ratelimit": "git://github.com/dharmafly/connect-ratelimit.git#0550eff209c54f35078f46445000797fa942ab97",
"express": "~3.4.7",
"glob": "*",
"leveldown": "*",

View File

@ -2,6 +2,7 @@ var logger = require('../lib/logger').logger;
var preconditions = require('preconditions').singleton();
var limiter = require('connect-ratelimit');
var ONE_HOUR = 60 * 60 * 1000;
module.exports.init = function(app, config) {
preconditions.checkArgument(app);
@ -9,24 +10,26 @@ module.exports.init = function(app, config) {
config = config || {};
config.whitelistRPH = config.whitelistRPH || 5000;
config.normalRPH = config.normalRPH || 1;
config.normalRPH = config.normalRPH || 2;
config.blacklistRPH = config.blacklistRPH || 0;
console.log(config);
console.log('asdasdasd');
app.use(limiter({
whitelist: [],
blacklist: ['localhost'], // 'example.com'
end: true,
blacklist: [], // 'example.com'
categories: {
whitelist: {
totalRequests: config.whitelistRPH,
every: 60 * 60 * 1000
every: ONE_HOUR
},
blacklist: {
totalRequests: 0,
every: 0
totalRequests: config.blacklistRPH,
every: ONE_HOUR
},
normal: {
totalRequests: config.normalRPH,
every: 60 * 60 * 1000
every: ONE_HOUR
}
}
}));