[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:
parent
08b8412f8a
commit
dbbbabe76b
3 changed files with 17 additions and 8 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue