[FIX] Disable rate limiting completely in development mode

- Disable rate limiting when APP_ENV=development
- Add development mode check in router.go
- Prevents rate limit errors during development and testing
- Rate limiting still active in production/staging
- Exclude critical routes as backup measure
This commit is contained in:
senke 2025-12-26 10:59:40 +01:00
parent 08b8412f8a
commit dbbbabe76b
3 changed files with 17 additions and 8 deletions

View file

@ -220,10 +220,15 @@ func (r *APIRouter) Setup(router *gin.Engine) error {
router.Use(middleware.Timeout(r.config.HandlerTimeout))
// Rate limiting via config.RateLimiter si disponible, sinon utiliser SimpleRateLimiter
if r.config != nil && r.config.RateLimiter != nil {
router.Use(r.config.RateLimiter.RateLimitMiddleware())
} else if r.config != nil && r.config.SimpleRateLimiter != nil {
router.Use(r.config.SimpleRateLimiter.Middleware())
// DÉSACTIVER en développement pour faciliter les tests
if r.config != nil && r.config.Env != config.EnvDevelopment {
if r.config.RateLimiter != nil {
router.Use(r.config.RateLimiter.RateLimitMiddleware())
} else if r.config.SimpleRateLimiter != nil {
router.Use(r.config.SimpleRateLimiter.Middleware())
}
} else {
r.logger.Info("Rate limiting disabled in development mode")
}
// Swagger Documentation

View file

@ -89,14 +89,16 @@ func (rl *RateLimiter) RateLimitMiddleware() gin.HandlerFunc {
return
}
// DÉSACTIVER le rate limiting en mode test/e2e pour les tests E2E
// DÉSACTIVER le rate limiting en mode test/e2e/development pour les tests E2E et développement
// Vérifier via header ou variable d'environnement
if c.GetHeader("X-Test-Mode") == "true" ||
c.GetHeader("X-E2E-Test") == "true" ||
os.Getenv("NODE_ENV") == "test" ||
os.Getenv("NODE_ENV") == "e2e" ||
os.Getenv("NODE_ENV") == "development" ||
os.Getenv("APP_ENV") == "test" ||
os.Getenv("APP_ENV") == "e2e" {
os.Getenv("APP_ENV") == "e2e" ||
os.Getenv("APP_ENV") == "development" {
c.Next()
return
}

View file

@ -75,13 +75,15 @@ func (rl *SimpleRateLimiter) Middleware() gin.HandlerFunc {
return
}
// DÉSACTIVER le rate limiting en mode test/e2e pour les tests E2E
// DÉSACTIVER le rate limiting en mode test/e2e/development pour les tests E2E et développement
if c.GetHeader("X-Test-Mode") == "true" ||
c.GetHeader("X-E2E-Test") == "true" ||
os.Getenv("NODE_ENV") == "test" ||
os.Getenv("NODE_ENV") == "e2e" ||
os.Getenv("NODE_ENV") == "development" ||
os.Getenv("APP_ENV") == "test" ||
os.Getenv("APP_ENV") == "e2e" {
os.Getenv("APP_ENV") == "e2e" ||
os.Getenv("APP_ENV") == "development" {
c.Next()
return
}