making rate limiter work
This commit is contained in:
parent
8de655eb2b
commit
38f160c213
@ -28,7 +28,6 @@ module.exports = function(app, historicSync, peerSync) {
|
|||||||
|
|
||||||
//Enable jsonp
|
//Enable jsonp
|
||||||
app.enable('jsonp callback');
|
app.enable('jsonp callback');
|
||||||
|
|
||||||
app.use(config.apiPrefix + '/sync', setHistoric);
|
app.use(config.apiPrefix + '/sync', setHistoric);
|
||||||
app.use(config.apiPrefix + '/peer', setPeer);
|
app.use(config.apiPrefix + '/peer', setPeer);
|
||||||
app.use(express.logger('dev'));
|
app.use(express.logger('dev'));
|
||||||
|
|||||||
@ -9,7 +9,6 @@ var PeerSync = require('./lib/PeerSync');
|
|||||||
var HistoricSync = require('./lib/HistoricSync');
|
var HistoricSync = require('./lib/HistoricSync');
|
||||||
|
|
||||||
var express = require('express');
|
var express = require('express');
|
||||||
var connect = require('connect');
|
|
||||||
var program = require('commander');
|
var program = require('commander');
|
||||||
|
|
||||||
var config = require('./config/config');
|
var config = require('./config/config');
|
||||||
@ -111,8 +110,6 @@ if (!config.disableHistoricSync) {
|
|||||||
if (peerSync) peerSync.allowReorgs = true;
|
if (peerSync) peerSync.allowReorgs = true;
|
||||||
|
|
||||||
|
|
||||||
// routes
|
|
||||||
require('./config/routes')(expressApp);
|
|
||||||
|
|
||||||
// socket.io
|
// socket.io
|
||||||
var server = require('http').createServer(expressApp);
|
var server = require('http').createServer(expressApp);
|
||||||
@ -130,6 +127,7 @@ if (config.enableRatelimiter) {
|
|||||||
|
|
||||||
|
|
||||||
// express settings
|
// express settings
|
||||||
|
require('./config/routes')(expressApp);
|
||||||
require('./config/express')(expressApp, historicSync, peerSync);
|
require('./config/express')(expressApp, historicSync, peerSync);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -58,8 +58,7 @@
|
|||||||
"bufferput": "git://github.com/bitpay/node-bufferput.git",
|
"bufferput": "git://github.com/bitpay/node-bufferput.git",
|
||||||
"buffertools": "*",
|
"buffertools": "*",
|
||||||
"commander": "^2.3.0",
|
"commander": "^2.3.0",
|
||||||
"connect": "^2.25.7",
|
"connect-ratelimit": "git://github.com/dharmafly/connect-ratelimit.git#0550eff209c54f35078f46445000797fa942ab97",
|
||||||
"connect-ratelimit": "0.0.6",
|
|
||||||
"express": "~3.4.7",
|
"express": "~3.4.7",
|
||||||
"glob": "*",
|
"glob": "*",
|
||||||
"leveldown": "*",
|
"leveldown": "*",
|
||||||
|
|||||||
@ -2,6 +2,7 @@ var logger = require('../lib/logger').logger;
|
|||||||
var preconditions = require('preconditions').singleton();
|
var preconditions = require('preconditions').singleton();
|
||||||
|
|
||||||
var limiter = require('connect-ratelimit');
|
var limiter = require('connect-ratelimit');
|
||||||
|
var ONE_HOUR = 60 * 60 * 1000;
|
||||||
|
|
||||||
module.exports.init = function(app, config) {
|
module.exports.init = function(app, config) {
|
||||||
preconditions.checkArgument(app);
|
preconditions.checkArgument(app);
|
||||||
@ -9,24 +10,26 @@ module.exports.init = function(app, config) {
|
|||||||
|
|
||||||
config = config || {};
|
config = config || {};
|
||||||
config.whitelistRPH = config.whitelistRPH || 5000;
|
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({
|
app.use(limiter({
|
||||||
whitelist: [],
|
whitelist: [],
|
||||||
blacklist: ['localhost'], // 'example.com'
|
end: true,
|
||||||
|
blacklist: [], // 'example.com'
|
||||||
categories: {
|
categories: {
|
||||||
whitelist: {
|
whitelist: {
|
||||||
totalRequests: config.whitelistRPH,
|
totalRequests: config.whitelistRPH,
|
||||||
every: 60 * 60 * 1000
|
every: ONE_HOUR
|
||||||
},
|
},
|
||||||
blacklist: {
|
blacklist: {
|
||||||
totalRequests: 0,
|
totalRequests: config.blacklistRPH,
|
||||||
every: 0
|
every: ONE_HOUR
|
||||||
},
|
},
|
||||||
normal: {
|
normal: {
|
||||||
totalRequests: config.normalRPH,
|
totalRequests: config.normalRPH,
|
||||||
every: 60 * 60 * 1000
|
every: ONE_HOUR
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user