add: Rate limiting & tests

This commit is contained in:
$(pass /github/name)
2024-08-23 11:58:53 +02:00
parent 682c50574b
commit 4274f386f7
7 changed files with 247 additions and 1 deletions

View File

@@ -14,7 +14,6 @@ import (
"GoMembership/internal/middlewares"
"GoMembership/internal/repositories"
// "GoMembership/internal/middlewares"
"GoMembership/internal/routes"
"GoMembership/internal/services"
"GoMembership/pkg/logger"
@@ -46,6 +45,7 @@ func Run() {
membershipController := &controllers.MembershipController{Service: *membershipService}
contactController := &controllers.ContactController{EmailService: emailService}
router := gin.Default()
// gin.SetMode(gin.ReleaseMode)
router.Static(config.Templates.StaticPath, "./style")
@@ -55,6 +55,8 @@ func Run() {
router.Use(gin.Logger())
router.Use(middlewares.CORSMiddleware())
limiter := middlewares.NewIPRateLimiter(config.Security.Ratelimits.Limit, config.Security.Ratelimits.Burst)
router.Use(middlewares.RateLimitMiddleware(limiter))
routes.RegisterRoutes(router, userController, membershipController, contactController)
// create subrouter for teh authenticated area /account
// also pthprefix matches everything below /account