|
@ -431,8 +431,21 @@ ExpressApp.prototype.start = function(opts, cb) { |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
var estimateFeeLimiter; |
|
|
|
|
|
|
|
|
|
|
|
if (Defaults.RateLimit.estimateFee && !opts.ignoreRateLimiter) { |
|
|
|
|
|
log.info('', 'Limiting estimate fee per IP: %d req/h', (Defaults.RateLimit.estimateFee.max / Defaults.RateLimit.estimateFee.windowMs * 60 * 60 * 1000).toFixed(2)) |
|
|
|
|
|
estimateFeeLimiter = new RateLimit(Defaults.RateLimit.estimateFee); |
|
|
|
|
|
// router.use(/\/v\d+\/wallets\/$/, createWalletLimiter)
|
|
|
|
|
|
} else { |
|
|
|
|
|
estimateFeeLimiter = function(req, res, next) { |
|
|
|
|
|
next() |
|
|
|
|
|
}; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// DEPRECATED
|
|
|
// DEPRECATED
|
|
|
router.get('/v1/feelevels/', function(req, res) { |
|
|
router.get('/v1/feelevels/', estimateFeeLimiter, function(req, res) { |
|
|
logDeprecated(req); |
|
|
logDeprecated(req); |
|
|
var opts = {}; |
|
|
var opts = {}; |
|
|
if (req.query.network) opts.network = req.query.network; |
|
|
if (req.query.network) opts.network = req.query.network; |
|
@ -452,7 +465,7 @@ ExpressApp.prototype.start = function(opts, cb) { |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
router.get('/v2/feelevels/', function(req, res) { |
|
|
router.get('/v2/feelevels/', estimateFeeLimiter, function(req, res) { |
|
|
var opts = {}; |
|
|
var opts = {}; |
|
|
if (req.query.coin) opts.coin = req.query.coin; |
|
|
if (req.query.coin) opts.coin = req.query.coin; |
|
|
if (req.query.network) opts.network = req.query.network; |
|
|
if (req.query.network) opts.network = req.query.network; |
|
|