move rate limiting directly to handler

This commit is contained in:
TheBeastLT
2023-10-31 21:01:02 +02:00
parent a4cdccc469
commit 77db08c9b2
5 changed files with 26 additions and 18 deletions

View File

@@ -1,7 +1,5 @@
import express from 'express';
import rateLimit from 'express-rate-limit';
import swStats from 'swagger-stats';
import requestIp from 'request-ip';
import serverless from './serverless.js';
import { manifest } from './lib/manifest.js';
import { initBestTrackers } from './lib/magnetHelper.js';
@@ -11,7 +9,7 @@ app.enable('trust proxy');
app.use(swStats.getMiddleware({
name: manifest().name,
version: manifest().version,
timelineBucketDuration: 10 * 60 * 1000,
timelineBucketDuration: 60 * 60 * 1000,
apdexThreshold: 100,
authentication: true,
onAuthenticate: (req, username, password) => {
@@ -20,12 +18,6 @@ app.use(swStats.getMiddleware({
},
}))
app.use(express.static('static', { maxAge: '1y' }));
app.use(/^\/.*stream\/.+/, rateLimit({
windowMs: 60 * 60 * 1000, // 1 hours
max: 300, // limit each IP to 300 requests per windowMs
headers: false,
keyGenerator: (req) => requestIp.getClientIp(req)
}));
app.use((req, res, next) => serverless(req, res, next));
app.listen(process.env.PORT || 7000, () => {
initBestTrackers()